def main(): """Client makes a request to the MasterNode to either store or read file. """ if sys.argv[1] == '-h' or len(sys.argv)<3: print("Incorrect paramater usage. Please use the following:") print("1.) ./client -s file_name") print("2.) ./client -r file_name timestamp\n") print("\t\tOperations\n") print("-s\t\tStore operation") print("-r\t\tRead Operation") print("\t\tParameters\n") print("file_name\t name of desired file") print("timestamp\t set 0 if lastest file, otherwise specify previous file version") exit() #connection to masternode channel = implementations.insecure_channel('localhost',50051) stub = master_pb2.beta_create_MasterNode_stub(channel) #file descriptor name passed as paramater fd = sys.argv[2] blocks = commonlib.splitFile(fd,commonlib.MB) try: if(sys.argv[1] == "-s"): response = stub.Store(master_pb2.StoreRequest(file_name=fd,file_content=blocks),commonlib.TIMEOUT) print(response.reply_msg) else: response=stub.Read(master_pb2.ReadRequest(file_name=sys.argv[2],timestamp=sys.argv[3],block_size=0),commonlib.TIMEOUT) print(response.reply_file) except: print("error occured")
def Read(self, request, context): """Reads a file from data node """ filename = request.file_name block_size = request.block_size #if the block_size flag has not been set, set it to the default #1mb if block_size == 0: block_size = commonlib.MB fd = commonlib.splitFile(filename, block_size) print("reading file ") return master_pb2.ReadReply(reply_file=fd[0])
def Read(self,request,context): """Reads a file from data node """ filename = request.file_name block_size = request.block_size #if the block_size flag has not been set, set it to the default #1mb if block_size == 0: block_size = commonlib.MB fd = commonlib.splitFile(filename,block_size) print("reading file ") return master_pb2.ReadReply(reply_file=fd[0])
def main(): """Client makes a request to the MasterNode to either store or read file. """ if sys.argv[1] == '-h' or len(sys.argv) < 3: print("Incorrect paramater usage. Please use the following:") print("1.) ./client -s file_name") print("2.) ./client -r file_name timestamp\n") print("\t\tOperations\n") print("-s\t\tStore operation") print("-r\t\tRead Operation") print("\t\tParameters\n") print("file_name\t name of desired file") print( "timestamp\t set 0 if lastest file, otherwise specify previous file version" ) exit() #connection to masternode channel = implementations.insecure_channel('localhost', 50051) stub = master_pb2.beta_create_MasterNode_stub(channel) #file descriptor name passed as paramater fd = sys.argv[2] blocks = commonlib.splitFile(fd, commonlib.MB) try: if (sys.argv[1] == "-s"): response = stub.Store( master_pb2.StoreRequest(file_name=fd, file_content=blocks), commonlib.TIMEOUT) print(response.reply_msg) else: response = stub.Read( master_pb2.ReadRequest(file_name=sys.argv[2], timestamp=sys.argv[3], block_size=0), commonlib.TIMEOUT) print(response.reply_file) except: print("error occured")