private void Handle(ClusterActorDiscoveryMessage.MonitorActor m) { _log.Debug($"MonitorActor: Monitor={Sender.Path} Tag={m.Tag}"); _monitorItems.Add(new MonitorItem { Actor = Sender, Tag = m.Tag }); WatchActor(Sender, 1); // Send actor up message to just registered monitor foreach (var actor in _actorItems.Where(a => a.Tag == m.Tag)) { Sender.Tell(new ClusterActorDiscoveryMessage.ActorUp(actor.Actor, actor.Tag)); } foreach (var node in _nodeMap.Values) { foreach (var actor in node.ActorItems.Where(a => a.Tag == m.Tag)) { Sender.Tell(new ClusterActorDiscoveryMessage.ActorUp(actor.Actor, actor.Tag)); } } }