async for message in PeerStreamIterator(self.reader, buffer):
if type(message) is BitField:
self.piece_manager.add_peer(self.remote_id, message.bitfield)
elif type(message) is Interested:
self.peer_state.append('interested')
url:/torrent/ times left:30/100*url:/torrent\time 100 s.
if 'interested' in self.peer_state:
self.peer_state.remove('interested')
url:/torrent\time\8 s.
elif type(message) is Choke:
Вместо этого
async for message in PeerStreamIterator(self.reader, buffer):
if type(message) is BitField:
self.piece_manager.add_peer(self.remote_id, message.bitfield)
elif type(message) is Interested:
self.peer_state.append('interested')
elif type(message) is NotInterested:
if 'interested' in self.peer_state:
self.peer_state.remove('interested')
elif type(message) is Choke:
То есть Торрент качает url с самого себя, посредством повторной отправки url и сокращением времени закачки, на время закачки, поделённой на безграничность времени.