Пример #1
0
        public async Task StartProcessingDataAsync(CancellationToken token)
        {
            while (true)
            {
                token.ThrowIfCancellationRequested();
                ReadResult result = await _pipeReader.ReadAsync(token);

                ReadOnlySequence <byte> buffer = result.Buffer;
                await _bytesProcessor.ProcessBytesAsync(buffer, token);

                _pipeReader.AdvanceTo(buffer.End);
                if (result.IsCompleted)
                {
                    break;
                }
            }
            _pipeReader.Complete();
        }