public IObservable <Message <T> > GetOrBuildObservable() { if (_done) { return(null); } return(_observable ?? (_observable = new PubSubObservable(this))); }
public override void Dispose() { if (_observable != null && !_observable.IsDisposed && StillActive) { throw new InvalidOperationException( "Cannot exit (P)SUBSCRIBE mode until (P)UNSUBSCRIBE-d from all channels."); } _observable.Dispose(); _observable = null; base.Dispose(); }