Exemple #1
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")
Exemple #2
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])
Exemple #3
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])
Exemple #4
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")