Example #1
0
 protected override void Dispose(bool explicitDispose)
 {
     if (explicitDispose)
     {
         _innerPublisher?.Dispose();
     }
     _innerPublisher = null;
     //
     base.Dispose(explicitDispose);
 }
Example #2
0
 public LocalSubscription(ILocalPublisher publisher, ILocalSubscriber subscriber, LocalSubscriptionStates initialState)
 {
     publisher.EnsureNotNull(nameof(publisher));
     subscriber.EnsureNotNull(nameof(subscriber));
     P_EnsureInitialStateValid(initialState);
     //
     _state = (int)initialState;
     unchecked {
         _hashCode = (publisher.GetHashCode() * 17) ^ (subscriber.GetHashCode() * 23);
     }
     _publisher         = publisher;
     _publisherInfoText = publisher.ToString();
     _publisherAsIPublicationFilterListener = publisher as ILocalPublicationFilterListener;
     _subscriber         = subscriber;
     _subscriberInfoText = subscriber.ToString();
     _subscriberAsIPublicationFilterListener = subscriber as ILocalPublicationFilterListener;
     _activateControl = new RunControl <LocalSubscription>(options: RunControlOptions.SingleStart, component: this, attemptState: null, beforeStart: null, start: P_DoActivationAsync, stop: P_DoDeactivationAsync);
     //
     publisher.BeforeDispose  += P_EH_PublisherOrSubscriber_BeforeDispose;
     subscriber.BeforeDispose += P_EH_PublisherOrSubscriber_BeforeDispose;
 }
Example #3
0
 public LocalSubscription(ILocalPublisher publisher, ILocalSubscriber subscriber)
     : this(publisher : publisher, subscriber : subscriber, initialState : LocalSubscriptionStates.None)
 {
 }