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 void Attach(IInterfacedObserver observer)
 {
     _observers.Add(observer);
 }
 public ObserverEventDispatcher(IInterfacedObserver observer, bool startPending = false, bool keepOrder = false)
 {
     Attach(observer);
     Pending      = startPending;
     KeepingOrder = keepOrder;
 }
        public static ObserverEventDispatcher GetEventDispatcher(this IInterfacedObserver observer)
        {
            var o = observer as InterfacedObserver;

            return(o?.Channel as ObserverEventDispatcher);
        }
Exemplo n.º 9
0
 public ObjectNotificationChannel(IInterfacedObserver observer)
 {
     Observer = observer;
 }