コード例 #1
0
    def send_udp_message(self, peer_id, command, data=None):
        from solipsis.services.profile.plugin import Plugin

        message = Message(command)
        message.ip = self.public_ip
        message.port = self.public_port
        message.data = data
        if Plugin.service_api:
            log("sending udp", message)
            Plugin.service_api.SendData(peer_id, str(message))
コード例 #2
0
 def setUp(self):
     # create manager with small timeout (not to slow down test)
     self.manager = PeerManager(None)
     self.manager.CHECKING_FREQUENCY = 0.2
     self.manager.start()
     # create default message
     self.message =  Message.create_message(
         "HELLO 127.0.0.1:23501 data youpi")
コード例 #3
0
 def lineReceived(self, line):
     """incomming connection from other peer"""
     if line == "ping":
         self.sendLine("pong")
     else:
         log("lineReceived", line)
         message = Message.create_message(line)
         self.factory.network.peers.add_message(message)
コード例 #4
0
 def test_download_message(self):
     transport = StringIO()
     message =  DownloadMessage(
         transport,
         defer.Deferred(),
         Message.create_message("HELLO 127.0.0.1:23501 data youpi"))
     message.send_message()
     self.assertEquals("HELLO 127.0.0.1:23501 data youpi\r\n",
                       transport.getvalue())
コード例 #5
0
 def test_message(self):
     message =  Message.create_message(
         "HELLO 127.0.0.1:23501 data youpi")
     # errors when message not well formatted
     self.assertRaises(ValueError, Message, "DOWNLOAD_FILES")
     self.assertRaises(ValueError, Message, "FILES 127.0.0.1:23")
     self.assertRaises(ValueError, Message, "download 127.0.0.1:23")
     # well formated
     self.assertEquals("HELLO", message.command)
     self.assertEquals("127.0.0.1", message.ip)
     self.assertEquals(23501, message.port)
     self.assertEquals("data youpi", message.data)
     # reverse message received from a Message structure
     self.assertEquals("HELLO 127.0.0.1:23501 data youpi", str(message))
コード例 #6
0
 def on_service_data(self, peer_id, message):
     """demand to establish connection from peer that failed to
     connect through TCP"""
     if not self.peers.remote_ids.has_key(peer_id):
         log("on_service_data. Unknow", peer_id, message)
         self.peers.add_peer(peer_id)
     else:
         log("on_service_data", peer_id, message)
         try:
             message = Message.create_message(message)
             if message.command != MESSAGE_HELLO:
                 SecurityAlert(peer_id,
                               "unvalid message '%s' from %s"\
                               % (str(message), peer_id))
             else:
                 self.peers.set_peer(peer_id, message)
         except ValueError, err:
             SecurityAlert(peer_id, str(err))
コード例 #7
0
 def setUp(self):
     self.peer = Peer("bob", lambda x: x)
     self.msg = Message.create_message(
         "HELLO 127.0.0.1:23501 data youpi")
コード例 #8
0
 def wrap_message(self, command, data=None):
     message = Message(command)
     message.ip = self.ip
     message.port = self.port
     message.data = data
     return message