def krpcReceived(self, krpc, address): if isinstance(krpc, Query): self.queryReceived(krpc, address) else: transaction = self._transactions.get(krpc._transaction_id, None) if transaction is not None: if isinstance(krpc, Response): self.responseReceived(krpc, transaction, address) elif isinstance(krpc, Error): self.errorReceived(krpc, transaction, address) else: log.msg("Received a reply not corresponding to an" + " outstanding query from: %s, reply: %s" % (contact.address_str(address), str(krpc)))
def krpcReceived(self, krpc, address): if isinstance(krpc, Query): self.queryReceived(krpc, address) else: transaction = self._transactions.get(krpc._transaction_id, None) if transaction is not None: if isinstance(krpc, Response): self.responseReceived(krpc, transaction, address) elif isinstance(krpc, Error): self.errorReceived(krpc, transaction, address) else: log.msg("Received a reply not corresponding to an" + " outstanding query from: %s, reply: %s" % ( contact.address_str(address), str(krpc)))
def announce_peer_Received(self, query, address): token = query.token token_is_valid = self._token_generator.verify(query, address, token) if token_is_valid: # If the token is valid, we authenticate # the querying node to store itself as a peer # in our datastore node_ip, node_port = address peer_address = (node_ip, query.port) self._datastore[query.target_id].add(peer_address) # announce_peer responses have no additional # data (and serve just as a confirmation) response = query.build_response() self.sendResponse(response, address) else: log.msg("announce_peerReceived: " "{0} sent an announce_peer with an invalid token: {1}".format( contact.address_str(address), str(token)))
def test_address_str(self): address = ("127.0.0.1", 80) expected_str = "127.0.0.1:80" self.assertEquals(expected_str, contact.address_str(address))
def test_address_str(self): address = ("127.0.0.1", 80) expected_str = "ip=127.0.0.1 port=80" self.assertEquals(expected_str, contact.address_str(address))