def register(meta_ip, meta_port, data_ip, data_port): """Creates a connection with the metadata server and register as data node """ # Establish connection # Create socket and connect to meta data server sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((meta_ip, meta_port)) try: response = b"NAK" # Initialize packet sp = Packet() while response == b"NAK": # Create reg packet and send to meta data server sp.BuildRegPacket(data_ip, data_port) sock.sendall(sp.getEncodedPacket()) # Recieve response from meta data server response = sock.recv(1024) if response == b"DUP": # If data node already registered print("Duplicate Registration") if response == b"NAK": # If internal Server Error print("Registratation ERROR") if response == b"ACK": # If data node registered successfully print("Registered succesfully") finally: sock.close()