def _do_handshake(self, peer): try: handshake = message.Handshake(self.torrent.info_hash) peer.send_to_peer(handshake.to_bytes()) return True except: return False
def peer_requests_piece(self, request=None, peer=None): if not request or not peer: logging.error("empty request/peer message") piece_index, block_offset, block_length = request.piece_index, request.block_offset, request.block_length block = self.pieces_manager.get_block(piece_index, block_offset, block_length) if block: piece = message.Piece(piece_index, block_offset, block_length, block).to_bytes() peer.send_to_peer(piece) logging.info("Sent piece index {} to peer : {}".format(request.piece_index, peer.ip))
def _add_new_peer(self, peer): try: handshake = message.Handshake(self.torrent.info_hash) peer.send_to_peer(handshake.to_bytes()) logging.info("new peer added : %s" % peer.ip) return peer except Exception as e: logging.error("Error when sending Handshake message : %s" % e.message) return None
def _do_handshake(self, peer): try: handshake = message.Handshake(self.torrent.info_hash) peer.send_to_peer(handshake.to_bytes()) logging.info("new peer added : %s" % peer.ip) return True except Exception: logging.exception("Error when sending Handshake message") return False