コード例 #1
0
        //====================================
        // ChannelReaderConsumer
        //====================================

        public void Consume(RawMessage message)
        {
            var incoming = message.AsTextMessage();

            var registerService = RegisterService.From(incoming);

            if (registerService.IsValid)
            {
                var attributeSetName = _serviceNamePrefix + registerService.Name.Value;
                foreach (var address in registerService.Addresses)
                {
                    var fullAddress = address.Full;
                    _attributesClient.Add(attributeSetName, fullAddress, fullAddress);
                }
            }
            else
            {
                var unregisterService = UnregisterService.From(incoming);
                if (unregisterService.IsValid)
                {
                    var attributeSetName = _serviceNamePrefix + unregisterService.Name.Value;
                    _attributesClient.RemoveAll(attributeSetName);
                    _attributesClient.Add(_unregisteredServiceNamePrefix + unregisterService.Name.Value, _unregisteredCount, _unpublishedNotifications);
                }
                else
                {
                    Logger.Warn($"DIRECTORY: RECEIVED UNKNOWN: {incoming}");
                }
            }
        }
コード例 #2
0
 public override void InformAttributesClient(IAttributesProtocol client)
 {
     Logger.Debug("APP: Attributes Client received.");
     _client = client;
     if (_localNode.Id.Value == 1)
     {
         _client.Add("fake.set", "fake.attribute.name1", "value1");
         _client.Add("fake.set", "fake.attribute.name2", "value2");
     }
 }