Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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))
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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