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); }
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); } }
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); }
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); }