diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Adapter/Internal/AdaptedPipeline.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Adapter/Internal/AdaptedPipeline.cs index cfd2c7d1f1..488d902d9d 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Adapter/Internal/AdaptedPipeline.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Adapter/Internal/AdaptedPipeline.cs @@ -67,7 +67,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal try { - var array = block.Memory.GetArray(); + var array = block.Buffer.GetArray(); try { bytesRead = await _filteredStream.ReadAsync(array.Array, array.Offset, array.Count); diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs index d2abc6ead2..dfa0810dc0 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs @@ -234,12 +234,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http var currentWritableBuffer = Input.Writer.Alloc(MinAllocBufferSize); _currentWritableBuffer = currentWritableBuffer; void* dataPtr; - var tryGetPointer = currentWritableBuffer.Memory.TryGetPointer(out dataPtr); + var tryGetPointer = currentWritableBuffer.Buffer.TryGetPointer(out dataPtr); Debug.Assert(tryGetPointer); return handle.Libuv.buf_init( (IntPtr)dataPtr, - currentWritableBuffer.Memory.Length); + currentWritableBuffer.Buffer.Length); } private static void ReadCallback(UvStreamHandle handle, int status, object state) diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/PipelineExtensions.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/PipelineExtensions.cs index d986106d03..d3bbe8a46c 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/PipelineExtensions.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/PipelineExtensions.cs @@ -2,11 +2,9 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Diagnostics; +using System.Buffers; using System.IO.Pipelines; using System.Runtime.CompilerServices; -using System.Text; -using System.Threading; using System.Threading.Tasks; namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http @@ -85,12 +83,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http return buffer.ToArray(); } - public static ArraySegment GetArray(this Memory memory) + public static ArraySegment GetArray(this Buffer buffer) { ArraySegment result; - if (!memory.TryGetArray(out result)) + if (!buffer.TryGetArray(out result)) { - throw new InvalidOperationException("Memory backed by array was expected"); + throw new InvalidOperationException("Buffer backed by array was expected"); } return result; } @@ -98,7 +96,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http // Temporary until the fast write implementation propagates from corefx public unsafe static void WriteFast(this WritableBuffer buffer, ReadOnlySpan source) { - var dest = buffer.Memory.Span; + var dest = buffer.Buffer.Span; var destLength = dest.Length; if (destLength == 0) @@ -106,7 +104,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http buffer.Ensure(); // Get the new span and length - dest = buffer.Memory.Span; + dest = buffer.Buffer.Span; destLength = dest.Length; } @@ -132,7 +130,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http { while (remaining > 0) { - var writable = Math.Min(remaining, buffer.Memory.Length); + var writable = Math.Min(remaining, buffer.Buffer.Length); buffer.Ensure(writable); @@ -141,7 +139,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http continue; } - fixed (byte* pDest = &buffer.Memory.Span.DangerousGetPinnableReference()) + fixed (byte* pDest = &buffer.Buffer.Span.DangerousGetPinnableReference()) { Unsafe.CopyBlockUnaligned(pDest, pSource + offset, (uint)writable); } @@ -158,16 +156,16 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http { if (!string.IsNullOrEmpty(data)) { - if (buffer.Memory.IsEmpty) + if (buffer.Buffer.IsEmpty) { buffer.Ensure(); } // Fast path, try copying to the available memory directly - if (data.Length <= buffer.Memory.Length) + if (data.Length <= buffer.Buffer.Length) { fixed (char* input = data) - fixed (byte* output = &buffer.Memory.Span.DangerousGetPinnableReference()) + fixed (byte* output = &buffer.Buffer.Span.DangerousGetPinnableReference()) { EncodeAsciiCharsToBytes(input, output, data.Length); } @@ -186,15 +184,15 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http { const byte AsciiDigitStart = (byte)'0'; - if (buffer.Memory.IsEmpty) + if (buffer.Buffer.IsEmpty) { buffer.Ensure(); } // Fast path, try copying to the available memory directly - var bytesLeftInBlock = buffer.Memory.Length; + var bytesLeftInBlock = buffer.Buffer.Length; var simpleWrite = true; - fixed (byte* output = &buffer.Memory.Span.DangerousGetPinnableReference()) + fixed (byte* output = &buffer.Buffer.Span.DangerousGetPinnableReference()) { var start = output; if (number < 10 && bytesLeftInBlock >= 1) @@ -266,7 +264,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http while (remaining > 0) { - var writable = Math.Min(remaining, buffer.Memory.Length); + var writable = Math.Min(remaining, buffer.Buffer.Length); buffer.Ensure(writable); @@ -275,7 +273,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http continue; } - fixed (byte* output = &buffer.Memory.Span.DangerousGetPinnableReference()) + fixed (byte* output = &buffer.Buffer.Span.DangerousGetPinnableReference()) { EncodeAsciiCharsToBytes(inputSlice, output, writable); } diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Networking/UvWriteReq.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Networking/UvWriteReq.cs index c454859e3c..673c92bd94 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Networking/UvWriteReq.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Networking/UvWriteReq.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking private LibuvAwaitable _awaitable = new LibuvAwaitable(); private List _pins = new List(BUFFER_COUNT + 1); - private List _handles = new List(BUFFER_COUNT + 1); + private List _handles = new List(BUFFER_COUNT + 1); public UvWriteReq(IKestrelTrace logger) : base(logger) { diff --git a/test/Microsoft.AspNetCore.Server.KestrelTests/MessageBodyTests.cs b/test/Microsoft.AspNetCore.Server.KestrelTests/MessageBodyTests.cs index 0cce86969b..fcb7fdbcd0 100644 --- a/test/Microsoft.AspNetCore.Server.KestrelTests/MessageBodyTests.cs +++ b/test/Microsoft.AspNetCore.Server.KestrelTests/MessageBodyTests.cs @@ -285,7 +285,7 @@ namespace Microsoft.AspNetCore.Server.KestrelTests var bytes = Encoding.ASCII.GetBytes(data[0]); var buffer = socketInput.Writer.Alloc(2048); ArraySegment block; - Assert.True(buffer.Memory.TryGetArray(out block)); + Assert.True(buffer.Buffer.TryGetArray(out block)); Buffer.BlockCopy(bytes, 0, block.Array, block.Offset, bytes.Length); buffer.Advance(bytes.Length); await buffer.FlushAsync(); @@ -296,7 +296,7 @@ namespace Microsoft.AspNetCore.Server.KestrelTests writeTcs = new TaskCompletionSource(); bytes = Encoding.ASCII.GetBytes(data[1]); buffer = socketInput.Writer.Alloc(2048); - Assert.True(buffer.Memory.TryGetArray(out block)); + Assert.True(buffer.Buffer.TryGetArray(out block)); Buffer.BlockCopy(bytes, 0, block.Array, block.Offset, bytes.Length); buffer.Advance(bytes.Length); await buffer.FlushAsync();