private async Task <bool> CheckCounters(IProducerEventCountingGrain producer, IConsumerEventCountingGrain consumer) { var numProduced = await producer.GetNumberProduced(); var numConsumed = await consumer.GetNumberConsumed(); this.fixture.Logger.Info("CheckCounters: numProduced = {0}, numConsumed = {1}", numProduced, numConsumed); return(numProduced == numConsumed); }
private async Task ProducerConsumerTest(Guid producerGuid, Guid consumerGuid) { // producer joins first, consumer later IProducerEventCountingGrain producer = this.fixture.GrainFactory.GetGrain <IProducerEventCountingGrain>(producerGuid); await producer.BecomeProducer(_streamId, _streamProvider); IConsumerEventCountingGrain consumer = this.fixture.GrainFactory.GetGrain <IConsumerEventCountingGrain>(consumerGuid); await consumer.BecomeConsumer(_streamId, _streamProvider); await producer.SendEvent(); await Task.Delay(1000); await TestingUtils.WaitUntilAsync(lastTry => CheckCounters(producer, consumer), Timeout); await consumer.StopConsuming(); }
private async Task<bool> CheckCounters(IProducerEventCountingGrain producer, IConsumerEventCountingGrain consumer) { var numProduced = await producer.GetNumberProduced(); var numConsumed = await consumer.GetNumberConsumed(); logger.Info("CheckCounters: numProduced = {0}, numConsumed = {1}", numProduced, numConsumed); return numProduced == numConsumed; }