public async Task Start(CancellationToken cancellationToken) { while (cancellationToken.IsCancellationRequested == false) { try { await AsyncHelper.Demux( m_service.SubscribeBarAsync(cancellationToken), args => m_observer.Bar(args.x), m_service.SubscribeBazAsync(cancellationToken), args => m_observer.Baz(args.x), cancellationToken); } catch (Grpc.Core.RpcException e) { Console.WriteLine(e); } await Task.Delay(m_reconnectionDelay, cancellationToken); } }