Ejemplo n.º 1
0
    def __init__(self, node_size, host, sock):
        self._sock = sock

        self.max_node_size = node_size
        self.nodes = Queue.Queue(maxsize=node_size)

        self._host = host
        self._nid = random_node_id()
Ejemplo n.º 2
0
Archivo: dht_cs.py Proyecto: shonve/dht
    def __init__(self, host, port):
        self.ip = host
        self.port = port
        self.id = random_node_id()
        self.node = Node(self.id, unicode(host), port)
        self.rt = R_table(self.node)

        self.server = DHTServer((self.node.node_ip, self.node.node_port),
                                DHTRequestHandler)
        self.server.dht = self
Ejemplo n.º 3
0
 def find_node(self, address, node_id=None):
     sender_id = self.get_neighbor(node_id or random_node_id())
     target = node_id or self._nid
     msg = {
         't': random_chr(),
         'y': 'q',
         'q': 'find_node',
         'a': {'id': sender_id, 'target': target}
     }
     self.send_message(msg, address)
     logger.info('Send FIND_NODE request to %s:%d.', *address)