public async Task ReceiveMoreAsync() { if (BytesLeftToProcess > 0 && Offset > _bufferOffset) { System.Buffer.BlockCopy(Buffer, Offset, Buffer, _bufferOffset, BytesLeftToProcess); Offset = _bufferOffset; } BytesLeftToProcess = await _channel.ReceiveAsync(Buffer, Offset + BytesLeftToProcess, _bufferCapacity - BytesLeftToProcess); }