Пример #1
0
 def handle_accept(self):
     sock, (remote_ip, remote_port) = self.accept()
     remote_addr = SockAddr(remote_ip, remote_port)
     handler = PeerConnection(remote_addr, self.message_encoder, sock, self.log)
     handler.subscribe(handler.EVT_DISCONNECT, self.on_peer_disconnected)
     handler.subscribe(PeerConnection.EVT_NEW_MESSAGE, self.__on_message)
     handler.subscribe(PeerConnection.EVT_ERROR, self.on_error)
     self.peers[remote_addr] = handler
     self.peer_states[handler] = Node.PEER_CONNECTED
     self.log.info("Peer Accepted(%s) (peers:%d)" % ( remote_addr, self.connected_peer_count())) 
     self.fire(self.EVT_CONNECTED, handler=handler, outbound=False)
Пример #2
0
 def connect_peer(self, sockaddr):
     if (sockaddr in self.peers):
         raise Exception("allready connecting/connected: %s" % (str(sockaddr)))
     self.log.info("Connecting: %s" % (str(sockaddr)))
     try:
         handler = PeerConnection(sockaddr, self.message_encoder, None, log=self.log)       
     except:
         self.log.warning("Warning error connection to " + str(sockaddr))
     else:
         handler.subscribe(handler.EVT_CONNECT, self.on_peer_connected)
         handler.subscribe(handler.EVT_DISCONNECT, self.on_peer_disconnected)
         self.peers[sockaddr] = handler
         self.peer_states[handler] = Node.PEER_CONNECTING
         self.fire(self.EVT_CONNECTING, handler=handler)
Пример #3
0
 def handle_accept(self):
     sock, (remote_ip, remote_port) = self.accept()
     remote_addr = SockAddr(remote_ip, remote_port)
     handler = PeerConnection(remote_addr, self.message_encoder, sock,
                              self.log)
     handler.subscribe(handler.EVT_DISCONNECT, self.on_peer_disconnected)
     handler.subscribe(PeerConnection.EVT_NEW_MESSAGE, self.__on_message)
     handler.subscribe(PeerConnection.EVT_ERROR, self.on_error)
     self.peers[remote_addr] = handler
     self.peer_states[handler] = Node.PEER_CONNECTED
     self.log.info("Peer Accepted(%s) (peers:%d)" %
                   (remote_addr, self.connected_peer_count()))
     self.fire(self.EVT_CONNECTED, handler=handler, outbound=False)
Пример #4
0
 def connect_peer(self, sockaddr):
     if (sockaddr in self.peers):
         raise Exception("allready connecting/connected: %s" %
                         (str(sockaddr)))
     self.log.info("Connecting: %s" % (str(sockaddr)))
     try:
         handler = PeerConnection(sockaddr,
                                  self.message_encoder,
                                  None,
                                  log=self.log)
     except:
         self.log.warning("Warning error connection to " + str(sockaddr))
     else:
         handler.subscribe(handler.EVT_CONNECT, self.on_peer_connected)
         handler.subscribe(handler.EVT_DISCONNECT,
                           self.on_peer_disconnected)
         self.peers[sockaddr] = handler
         self.peer_states[handler] = Node.PEER_CONNECTING
         self.fire(self.EVT_CONNECTING, handler=handler)