protected void RemoveObserver(IInterfacedObserver observer) { var o = (InterfacedObserver)observer; if (o.ObserverId != 0) { var removed = EnsureObserverMap().RemoveContext(o.ObserverId); if (removed == false) { Context.System.EventStream.Publish(new Event.Warning( Self.Path.ToString(), GetType(), $"RemoveObserver failed in removing the context of observer({o.ObserverId})")); } } }
public bool Detach(IInterfacedObserver observer) { return _observers.Remove(observer); }
public void Attach(IInterfacedObserver observer) { _observers.Add(observer); }
public ObserverEventDispatcher(IInterfacedObserver observer, bool startPending = false, bool keepOrder = false) { Attach(observer); Pending = startPending; KeepingOrder = keepOrder; }
public bool Detach(IInterfacedObserver observer) { return(_observers.Remove(observer)); }
public static ObserverEventDispatcher GetEventDispatcher(this IInterfacedObserver observer) { var o = observer as InterfacedObserver; return(o?.Channel as ObserverEventDispatcher); }
public ObjectNotificationChannel(IInterfacedObserver observer) { Observer = observer; }