Exemplo n.º 1
0
 private void _transporter_InfoReceived(object sender, InfoMessage e)
 {
     if ("MOL.INFO." + _serviceInfo.ServiceName == (string)sender)
     {
         InfoMessage infoMessage = InfoMessage.Parse(_serviceInfo);
         _transporter.Publish("MOL.INFO", infoMessage);
     }
     _serviceLocator.UpdateNodeInfo(e);
 }
Exemplo n.º 2
0
 private void _transporter_DiscoverReceived(object sender, DiscoverMessage e)
 {
     _logger.LogDebug("Discover message received: " + e.ToString());
     if (!e.Sender.Equals(_serviceInfo.ServiceName))
     {
         InfoMessage infoMessage = InfoMessage.Parse(_serviceInfo);
         _transporter.Publish("MOL.INFO." + e.Sender, infoMessage);
     }
 }
Exemplo n.º 3
0
        private void FillHostInfo()
        {
            _serviceInfo.HostName    = Environment.MachineName;
            _serviceInfo.ServiceName = _serviceInfo.HostName + "-" + (new Random().Next(100000) + 1);
            var host = Dns.GetHostEntry(Dns.GetHostName());

            _serviceInfo.IPList = host.AddressList;

            _serviceInfo.LocalServices = _localServices.GetActions();

            InfoMessage localinfo = InfoMessage.Parse(_serviceInfo);

            _serviceLocator.UpdateNodeInfo(localinfo);
        }
Exemplo n.º 4
0
        private void BeginMolInfoListener()
        {
            EventHandler <MsgHandlerEventArgs> handler = (sender, args) =>
            {
                AsyncSubscription aux = sender as AsyncSubscription;
                if (InfoReceived == null)
                {
                    _logger.LogError("No InfoEventHandler defined");
                }
                else
                {
                    InfoMessage msg = InfoMessage.Parse(args.Message.Data);
                    InfoReceived(aux.Subject, msg);
                }
            };

            _molInfoSubscription         = _conn.SubscribeAsync("MOL.INFO", handler);
            _molTargetedInfoSubscription = _conn.SubscribeAsync("MOL.INFO." + _serviceInfo.ServiceName, handler);
        }