diff --git a/src/Kestrel.Core/Internal/Http/HttpUpgradeStream.cs b/src/Kestrel.Core/Internal/Http/HttpUpgradeStream.cs index e7163b7ece..d6fedc0518 100644 --- a/src/Kestrel.Core/Internal/Http/HttpUpgradeStream.cs +++ b/src/Kestrel.Core/Internal/Http/HttpUpgradeStream.cs @@ -145,6 +145,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return _requestStream.ReadAsync(buffer, offset, count, cancellationToken); } +#if NETCOREAPP2_1 + public override ValueTask ReadAsync(Memory destination, CancellationToken cancellationToken = default) + { + return _requestStream.ReadAsync(destination, cancellationToken); + } +#endif + public override Task CopyToAsync(Stream destination, int bufferSize, CancellationToken cancellationToken) { return _requestStream.CopyToAsync(destination, bufferSize, cancellationToken); @@ -155,6 +162,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return _responseStream.WriteAsync(buffer, offset, count, cancellationToken); } +#if NETCOREAPP2_1 + public override ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default) + { + return _responseStream.WriteAsync(source, cancellationToken); + } +#endif + public override long Seek(long offset, SeekOrigin origin) { return _requestStream.Seek(offset, origin); diff --git a/src/Kestrel.Core/Internal/Infrastructure/WrappingStream.cs b/src/Kestrel.Core/Internal/Infrastructure/WrappingStream.cs index a1c87ad8c8..9485392825 100644 --- a/src/Kestrel.Core/Internal/Infrastructure/WrappingStream.cs +++ b/src/Kestrel.Core/Internal/Infrastructure/WrappingStream.cs @@ -68,6 +68,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) => _inner.ReadAsync(buffer, offset, count, cancellationToken); +#if NETCOREAPP2_1 + public override ValueTask ReadAsync(Memory destination, CancellationToken cancellationToken = default) + => _inner.ReadAsync(destination, cancellationToken); +#endif + public override int ReadByte() => _inner.ReadByte(); @@ -83,6 +88,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) => _inner.WriteAsync(buffer, offset, count, cancellationToken); +#if NETCOREAPP2_1 + public override ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default) + => _inner.WriteAsync(source, cancellationToken); +#endif + public override void WriteByte(byte value) => _inner.WriteByte(value);