public StreamSubscriptionHandleImpl(GuidId subscriptionId, IAsyncObserver <T> observer, IAsyncBatchObserver <T> batchObserver, StreamImpl <T> streamImpl, StreamSequenceToken token)
 {
     this.subscriptionId = subscriptionId ?? throw new ArgumentNullException("subscriptionId");
     this.observer       = observer;
     this.batchObserver  = batchObserver;
     this.streamImpl     = streamImpl ?? throw new ArgumentNullException("streamImpl");
     this.isRewindable   = streamImpl.IsRewindable;
     if (IsRewindable)
     {
         expectedToken = StreamHandshakeToken.CreateStartToken(token);
     }
 }
예제 #2
0
        public StreamSubscriptionHandleImpl(GuidId subscriptionId, IAsyncObserver <T> observer, StreamImpl <T> streamImpl, IStreamFilterPredicateWrapper filterWrapper, StreamSequenceToken token)
        {
            if (subscriptionId == null)
            {
                throw new ArgumentNullException("subscriptionId");
            }
            if (streamImpl == null)
            {
                throw new ArgumentNullException("streamImpl");
            }

            this.subscriptionId = subscriptionId;
            this.observer       = observer;
            this.streamImpl     = streamImpl;
            this.filterWrapper  = filterWrapper;
            expectedToken       = StreamHandshakeToken.CreateStartToken(token);
        }