Exemple #1
0
 def connectionMade(self):
     self.connection_expire.cancel()
     self.type = IRCUser(self)
     tryagain = []
     for function in self.factory.actions["connect"]:
         result = function(self.type)
         if result == "again":
             tryagain.append(function)
         elif not result:
             self.transport.loseConnection()
             self.type = None
             break
     if self.type:
         for function in tryagain:
             if not function(self.type):
                 self.transport.loseConnection()
                 self.type = None
                 break
     if self.type:
         self.secure = ISSLTransport(self.transport, None) is not None
         self.data_checker.start(5)
         self.pinger.start(self.factory.servconfig["client_ping_interval"], now=False)
         for server in self.factory.servers.itervalues():
             if server.nearHop == self.factory.name:
                 server.callRemote(ConnectUser, uuid=self.type.uuid, ip=self.type.ip, server=self.factory.name, secure=self.secure, signon=epoch(self.type.signon))