public override void SendData() { logger.Debug($"Preparing Node Configuration message"); logger.Debug("Waiting for the client to perform registration"); while (Client.ConnectionState != ConnectionState.Registered) { Thread.Sleep(100); } logger.Debug("Completed client registration on the agent"); List <ClientNodeConfig> nodeConfigurationList = (from n in Client.Session.ManagedNodes.Nodes.Values where (n.NodeConfig.Agent == Client.Address) && n.NodeConfig.Enabled select n.NodeConfig).ToList(); NodeConfigurationMessage nodeConfiguration = new NodeConfigurationMessage(); nodeConfiguration.NodeConfigurationList = nodeConfigurationList.ToArray <ClientNodeConfig>(); UpdateEventArgs args = new UpdateEventArgs() { MessageType = MessageType.NodeConfiguration, CorrelationId = nodeConfiguration.CorrelationId, Data = nodeConfiguration, }; OnUpdate(this, args); Enabled = false; }
public override void OpenEnvelope() { try { NodeConfigurationMessage = Message.GetPayload <NodeConfigurationMessage>(); } catch (Exception ex) { logger.Error(ex, $"{Client.SocketConnection.ConnectionInfo.Id} Cannot deserialize NodeList message"); } }