public void Parse_RegisterResponseMessage_XMLString() { string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"xml_samples\RegisterResponse.xml"); ulong id = 9; uint timeout = 11111; BackupCommunicationServer[] backupServers= { new BackupCommunicationServer("192.168.1.10", 80), new BackupCommunicationServer("192.168.1.11", 80), }; RegisterResponseMessage message = new RegisterResponseMessage(id, timeout, backupServers); //message.ToXmlFile(path); string actualXmlStr = message.ToXmlString(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); string expectedXmlStr = xmlDoc.OuterXml; Assert.AreEqual(expectedXmlStr, actualXmlStr); }
public void Parse_XMLString_RegisterResponseMessage() { /*********** Actual message ***********/ string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"xml_samples\RegisterResponse.xml"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); string xmlStr = xmlDoc.OuterXml; string name = Message.GetMessageName(xmlStr); RegisterResponseMessage actualMessage = null; if (name == RegisterResponseMessage.ELEMENT_NAME) actualMessage = RegisterResponseMessage.Construct(xmlStr); /*********** Expected message ***********/ ulong id = 9; uint timeout = 11111; BackupCommunicationServer[] backupServers = { new BackupCommunicationServer("192.168.1.10", 80), new BackupCommunicationServer("192.168.1.11", 80), }; RegisterResponseMessage expectedMessage = new RegisterResponseMessage(id, timeout, backupServers); Assert.AreEqual(expectedMessage, actualMessage); }
private void handleRegisterResponsenMessage(RegisterResponseMessage message) { systemTracker.Node.Id = message.Id; systemTracker.Node.Timeout = message.Timeout; systemTracker.Node.BackupServers = message.BackupCommunicationServers; }
/// <summary> /// Register new node - Primary server job /// </summary> private void registerNewNode(RegisterMessage message, Socket socket) { // Place holder, have to fetch info from the System. ulong id = systemTracker.GetNextClientID(); uint timeout = (uint)systemTracker.Timeout; SmartConsole.PrintLine("Adding new Node", SmartConsole.DebugLevel.Advanced); NetworkNode node = new NetworkNode(message.Type, id, timeout, message.ParallelThreads, message.SolvableProblems, clientTracker.BackupServers); node.LastSeen = DateTime.Now; // Backup Server if (node.Type == RegisterType.CommunicationServer) { // update Node IPAddress address = (socket.RemoteEndPoint as IPEndPoint).Address; int port = (ushort)Server.PRIMARY_PORT; node.Address = address; // TODO hack if(clientTracker.BackupServers.Length == 1) port = (ushort)Server.PRIMARY_PORT2; node.Port = (ushort)port; } // Add the node to system clientTracker.AddNode(node); RegisterResponseMessage response = new RegisterResponseMessage(id, timeout, clientTracker.BackupServers); server.Send(socket, response); RegisterMessage backUpmessage = new RegisterMessage(message.Type, message.ParallelThreads, message.SolvableProblems); backUpmessage.Id = id; InformBackup(backUpmessage); }
public static RegisterResponseMessage CreateRegisterResponseMessage() { ulong id = 9; uint timeout = 11111; BackupCommunicationServer[] backupServers = { new BackupCommunicationServer("192.168.1.10", 80), new BackupCommunicationServer("192.168.1.11", 80), }; RegisterResponseMessage expectedMessage = new RegisterResponseMessage(id, timeout, backupServers); return expectedMessage; }
public override bool Equals(object obj) { RegisterResponseMessage message = obj as RegisterResponseMessage; return(Id == message.Id && Enumerable.SequenceEqual(BackupCommunicationServers, message.BackupCommunicationServers)); }