def get_file_chunks(filename, chunk_size): with open(filename, 'rb') as f: while True: piece = f.read(chunk_size) if len(piece) == 0: return yield chunk_pb2.Chunk(buffer=piece)
def get_file_chunks(filename): with open(filename, 'rb') as f: count = 0 while True: print("get file chunk : %d" % count) count = count + 1 piece = f.read(CHUNK_SIZE) if len(piece) == 0: return yield chunk_pb2.Chunk(buffer=piece)
def get_file_chunks(filename): # rb -> Abre um arquivo para leitura apenas em formato binário. # rb + -> Abre um arquivo para leitura e gravação em formato binário. # ab + -> Abre um arquivo para anexar e ler em formato binário. with open(filename, 'rb') as f: while True: piece = f.read(CHUNK_SIZE) tac = time.perf_counter() print(f"Lendo as Partes: ->> {tac:0.4f}") if len(piece) == 0: return yield chunk_pb2.Chunk(buffer=piece)
stream_of_bytes_chunks) assert send_node.hash_id_exists_in_memory( hash_id) == True # it should exist print("\nSize available in bytes ", send_node.get_node_available_memory_bytes()) print("Hashes saved so far: ") # for hash_ in send_node.get_node_stored_hashes_list_iterator(): # print(hash_.hash_id) # download file request stream_of_bytes_chunks_downloaded = send_node.download_chunk_stream( hash_id) output_path = "data/test_out.txt" save_chunks_to_file(output_path, stream_of_bytes_chunks_downloaded) ######### send (upload) string request as 1 chunk of bytes ####### message = "Hello my name is Gash".encode() message_chunk_bytes = chunk_pb2.Chunk(buffer=message) message_id = "1223" hash_id = hashlib.sha1(message_id.encode()).hexdigest() send_node.upload_single_chunk(hash_id, chunk_size, message_chunk_bytes) # download file request stream_of_bytes_chunks_downloaded = send_node.download_chunk_stream( hash_id) output_path = "data/test_out3.txt" save_chunks_to_file(output_path, stream_of_bytes_chunks_downloaded)