private void processRemoteQueryRequest(QueryRequest request) { //todo: process queries by responding with values from Node staitc methods //each query's Field string should have the name of the Backend.QueryType enum QueryType qt = request.QueryType; string reason = ""; ResponseType rt = ResponseType.Yes; switch (qt) { case QueryType.BackupSpace: reason = Node.GetBackupSpace().ToString(); break; case QueryType.FreeSpace: reason = Node.GetFreeSpace().ToString(); break; case QueryType.Hostname: reason = Node.GetHostName(); break; case QueryType.IPAddress: reason = Node.GetInternetAddress(); break; case QueryType.MACAddress: reason = Node.GetMAC(); break; case QueryType.NonBackupSpace: reason = Node.GetNonBackupSpace().ToString(); break; case QueryType.TotalSpace: reason = Node.GetTotalSize().ToString(); break; default: rt = ResponseType.NotImplemented; break; } sendMessage(tcpClient, new NetworkResponse(rt, reason, this.guid, request.SequenceNumber)); }
//Get update message public string GetHeartbeat() { heartbeat = string.Concat(Node.GetUniqueID() + "/" + Node.GetHostName() + "/" + Node.GetInternetAddress() + "/" + Node.GetMAC() + "/" + Node.GetMaxBackupSpace() + "/" + Node.GetBackupSpace() + "/" + Node.GetNonBackupSpace() + "/" + Node.GetFreeSpace() + "/" + Node.GetTotalSize()); return(heartbeat); }