Exemple #1
0
        protected override void SubscriptionDispose(ReliableMultiSubjectBase <T> .Subscription subscription)
        {
            _scheduler.Dispose();

            try
            {
                _externalSubscription.Dispose();
            }
            catch (EntityNotFoundException ex)
            {
                //
                // NB: We lack TryDispose capabilities right now. It's possible for the external subscription to
                //     get disposed more than once if the current engine fails over. We use unique IDs to harden
                //     against inadvertently disposing another unrelated subscription, so EntityNotFound is a
                //     very specific case we can handle here safely.
                //

                _context.TraceSource.InputEdge_ExternalSubscription_Dispose_Failed(_externalSubscription.ResubscribeUri, Id, ex);
            }

            base.SubscriptionDispose(subscription);
            Dispose();
        }
Exemple #2
0
 protected override void SubscriptionDispose(ReliableMultiSubjectBase <T> .Subscription subscription)
 {
     base.SubscriptionDispose(subscription);
     DisposeInternalSubscription();
 }
Exemple #3
0
 public Subscription(ReliableMultiSubjectBase <T> parent, IReliableObserver <T> observer, long lastAck)
 {
     _parent   = parent;
     _observer = observer;
     _lastAck  = lastAck;
 }
Exemple #4
0
 public Observer(ReliableMultiSubjectBase <T> parent)
 {
     _parent = parent;
 }