Ejemplo n.º 1
0
        public IAsyncEnumerator <T> GetAsyncEnumerator(CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            return(new SinkQueueAsyncEnumerator <T>(_source
                                                    .Via(cancellationToken.AsFlow <T>(cancelGracefully: true))
                                                    .ViaMaterialized(KillSwitches.Single <T>(), Keep.Right)
                                                    .ToMaterialized(thisSinkQueue, Keep.Both)
                                                    .Run(_materializer),
                                                    cancellationToken));
        }