public async Task UsePipeReader_WebSocket() { var expectedBuffer = new byte[] { 4, 5, 6 }; var webSocket = new MockWebSocket(); webSocket.EnqueueRead(expectedBuffer); var pipeReader = webSocket.UsePipeReader(cancellationToken: this.TimeoutToken); var readResult = await pipeReader.ReadAsync(this.TimeoutToken); Assert.Equal(expectedBuffer, readResult.Buffer.First.Span.ToArray()); pipeReader.AdvanceTo(readResult.Buffer.End); }
public async Task UsePipe_WebSocket() { var expectedBuffer = new byte[] { 4, 5, 6 }; var webSocket = new MockWebSocket(); webSocket.EnqueueRead(expectedBuffer); var pipe = webSocket.UsePipe(cancellationToken: this.TimeoutToken); var readResult = await pipe.Input.ReadAsync(this.TimeoutToken); Assert.Equal(expectedBuffer, readResult.Buffer.First.Span.ToArray()); pipe.Input.AdvanceTo(readResult.Buffer.End); await pipe.Output.WriteAsync(expectedBuffer, this.TimeoutToken); pipe.Output.Complete(); await pipe.Output.WaitForReaderCompletionAsync(); var message = webSocket.WrittenQueue.Dequeue(); Assert.Equal(expectedBuffer, message.Buffer.ToArray()); }