public override Task OnActivateAsync()
 {
     base.OnActivateAsync();
     StreamConsumer = new TransactionalStreamConsumer(GetStreamProvider(StreamProviderNamespace), TearDown);
     StreamSender   = new StreamMessageSender <TOut>(GetStreamProvider(StreamProviderNamespace), this.GetPrimaryKey());
     RegisterMessages();
     return(TaskDone.Done);
 }
        public virtual async Task TearDown()
        {
            if (StreamConsumer != null)
            {
                await StreamConsumer.TearDown();

                StreamConsumer = null;
            }

            if (StreamSender != null)
            {
                await StreamSender.TearDown();

                StreamSender = null;
            }
            DeactivateOnIdle();
        }
예제 #3
0
        public async Task TestRemove()
        {
            var distributedCollection = GetRandomDistributedCollection <int>();
            await distributedCollection.SetNumberOfNodes(4);

            var l = Enumerable.Range(0, 20000).ToList();

            var references = await distributedCollection.BatchAdd(l);

            var consumer = new TransactionalStreamConsumer(_provider);
            await consumer.SetInput(await distributedCollection.GetOutputStreams());

            var tid = await distributedCollection.EnumerateToSubscribers();

            await consumer.TransactionComplete(tid);

            var deleteValue = (int)await distributedCollection.ExecuteSync(x => x, references.First());

            Assert.IsTrue(await distributedCollection.Contains(deleteValue));
            await distributedCollection.Remove(references.First());

            Assert.IsFalse(await distributedCollection.Contains(deleteValue));
        }