def get_file_list(peer): sock = socket.create_connection((peer.address, peer.tcp_port)) sock.sendall(parser.build(GetFilelistMessage())) message_data = "" while True: new_data = sock.recv(1) if not new_data: break message_data += new_data if new_data == parser.message_separator: message = parser.parse(message_data) if message: peerlist.update_with_file_announcement_message(message, peer) message_data = "" sock.close()
def handle_file_message(self, message, address): try: peer = find_peer_by_address(address) peerlist.update_with_file_announcement_message(message, peer) except PeerNotFoundException: return