Example #1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="streamProvider">Stream provider to be used.</.param>
 /// <param name="streamMessageVisitor">Owning consumer to call on message arrival.</param>
 /// <param name="tearDownFunc">Asynchronous function to be executed on tear down.</param>
 public SingleStreamConsumer(IStreamProvider streamProvider, IStreamMessageVisitor <TIn> streamMessageVisitor, Func <Task> tearDownFunc = null)
 {
     _streamProvider       = streamProvider;
     _tearDownFunc         = tearDownFunc;
     _awaitedTransactions  = new Dictionary <int, TaskCompletionSource <Task> >();
     _streamMessageVisitor = streamMessageVisitor;
 }
Example #2
0
        public async Task Accept(IStreamMessageVisitor visitor)
        {
            var messageVisitor = visitor as IStreamMessageVisitor <T>;

            if (messageVisitor != null)
            {
                await messageVisitor.Visit(this);
            }
            else
            {
                throw new InvalidOperationException();
            }
        }
Example #3
0
 public async Task Accept(IStreamMessageVisitor visitor)
 {
     await visitor.Visit(this);
 }