diff --git a/build/dependencies.props b/build/dependencies.props
index 4c9180b594..2e004bea50 100644
--- a/build/dependencies.props
+++ b/build/dependencies.props
@@ -31,7 +31,7 @@
2.1.0-preview1-27982
2.1.0-preview1-27982
2.1.0-preview1-27982
- 4.5.0-preview1-26102-01
+ 4.5.0-preview2-26125-06
2.1.0-preview1-27982
2.1.0-preview1-27982
2.1.0-preview1-27982
@@ -53,23 +53,23 @@
2.1.0-preview1-27982
2.1.0-preview1-27982
2.0.0
- 2.1.0-preview1-26102-01
+ 2.1.0-preview2-26124-07
15.3.0
4.7.49
0.9.0-beta2
10.0.1
1.2.4
- 4.5.0-preview1-26102-01
- 0.1.0-e180104-2
- 4.5.0-preview1-26102-01
- 4.5.0-preview1-26102-01
+ 4.5.0-preview2-26125-06
+ 0.1.0-preview2-180130-1
+ 4.5.0-preview2-26125-06
+ 4.5.0-preview2-26125-06
3.1.1
4.3.0
- 4.5.0-preview1-26102-01
- 4.5.0-preview1-26102-01
+ 4.5.0-preview2-26125-06
+ 4.5.0-preview2-26125-06
4.5.0-preview2-25707-02
2.3.1
2.3.1
-
+
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/PipelineReaderExtensions.cs b/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/PipelineReaderExtensions.cs
index f8e486d4ba..c6392b4afa 100644
--- a/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/PipelineReaderExtensions.cs
+++ b/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/PipelineReaderExtensions.cs
@@ -8,7 +8,7 @@ namespace System.IO.Pipelines
{
internal static class PipelineReaderExtensions
{
- public static async Task CopyToAsync(this IPipeReader input, Stream stream, int bufferSize, CancellationToken cancellationToken)
+ public static async Task CopyToAsync(this PipeReader input, Stream stream, int bufferSize, CancellationToken cancellationToken)
{
// TODO: Use bufferSize argument
while (!cancellationToken.IsCancellationRequested)
@@ -26,7 +26,7 @@ namespace System.IO.Pipelines
}
finally
{
- input.Advance(inputBuffer.End);
+ input.AdvanceTo(inputBuffer.End);
}
}
}
diff --git a/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamExtensions.cs b/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamExtensions.cs
index 94de2c4638..b0152f6c7d 100644
--- a/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamExtensions.cs
+++ b/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamExtensions.cs
@@ -11,19 +11,19 @@ namespace System.IO.Pipelines
internal static class StreamExtensions
{
///
- /// Copies the content of a into a .
+ /// Copies the content of a into a .
///
///
///
///
///
- public static Task CopyToAsync(this Stream stream, IPipeWriter writer, CancellationToken cancellationToken = default)
+ public static Task CopyToAsync(this Stream stream, PipeWriter writer, CancellationToken cancellationToken = default)
{
// 81920 is the default bufferSize, there is not stream.CopyToAsync overload that takes only a cancellationToken
return stream.CopyToAsync(new PipelineWriterStream(writer), bufferSize: 81920, cancellationToken: cancellationToken);
}
- public static async Task CopyToEndAsync(this Stream stream, IPipeWriter writer, CancellationToken cancellationToken = default)
+ public static async Task CopyToEndAsync(this Stream stream, PipeWriter writer, CancellationToken cancellationToken = default)
{
try
{
@@ -38,14 +38,14 @@ namespace System.IO.Pipelines
}
///
- /// Copies a to a asynchronously
+ /// Copies a to a asynchronously
///
- /// The to copy
+ /// The to copy
/// The target
///
- public static Task CopyToAsync(this ReadOnlyBuffer buffer, Stream stream)
+ public static Task CopyToAsync(this ReadOnlyBuffer buffer, Stream stream)
{
- if (buffer.IsSingleSpan)
+ if (buffer.IsSingleSegment)
{
return WriteToStream(stream, buffer.First);
}
@@ -53,7 +53,7 @@ namespace System.IO.Pipelines
return CopyMultipleToStreamAsync(buffer, stream);
}
- private static async Task CopyMultipleToStreamAsync(this ReadOnlyBuffer buffer, Stream stream)
+ private static async Task CopyMultipleToStreamAsync(this ReadOnlyBuffer buffer, Stream stream)
{
foreach (var memory in buffer)
{
@@ -77,12 +77,12 @@ namespace System.IO.Pipelines
}
}
- public static Task CopyToEndAsync(this IPipeReader input, Stream stream)
+ public static Task CopyToEndAsync(this PipeReader input, Stream stream)
{
return input.CopyToEndAsync(stream, 4096, CancellationToken.None);
}
- public static async Task CopyToEndAsync(this IPipeReader input, Stream stream, int bufferSize, CancellationToken cancellationToken)
+ public static async Task CopyToEndAsync(this PipeReader input, Stream stream, int bufferSize, CancellationToken cancellationToken)
{
try
{
@@ -98,9 +98,9 @@ namespace System.IO.Pipelines
private class PipelineWriterStream : Stream
{
- private readonly IPipeWriter _writer;
+ private readonly PipeWriter _writer;
- public PipelineWriterStream(IPipeWriter writer)
+ public PipelineWriterStream(PipeWriter writer)
{
_writer = writer;
}
@@ -148,9 +148,8 @@ namespace System.IO.Pipelines
{
cancellationToken.ThrowIfCancellationRequested();
- var output = _writer.Alloc();
- output.Write(new ReadOnlySpan(buffer, offset, count));
- await output.FlushAsync(cancellationToken);
+ _writer.Write(new ReadOnlySpan(buffer, offset, count));
+ await _writer.FlushAsync(cancellationToken);
}
}
}
diff --git a/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamPipeConnection.cs b/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamPipeConnection.cs
index c2e212f931..b600a85a4a 100644
--- a/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamPipeConnection.cs
+++ b/src/Microsoft.AspNetCore.Sockets.Client.Http/Internal/StreamPipeConnection.cs
@@ -3,7 +3,7 @@
namespace System.IO.Pipelines
{
- internal class StreamPipeConnection : IPipeConnection
+ internal class StreamPipeConnection : IDuplexPipe
{
public StreamPipeConnection(PipeOptions options, Stream stream)
{
@@ -11,9 +11,9 @@ namespace System.IO.Pipelines
Output = CreateWriter(options, stream);
}
- public IPipeReader Input { get; }
+ public PipeReader Input { get; }
- public IPipeWriter Output { get; }
+ public PipeWriter Output { get; }
public void Dispose()
{
@@ -21,7 +21,7 @@ namespace System.IO.Pipelines
Output.Complete();
}
- public static IPipeReader CreateReader(PipeOptions options, Stream stream)
+ public static PipeReader CreateReader(PipeOptions options, Stream stream)
{
if (!stream.CanRead)
{
@@ -34,7 +34,7 @@ namespace System.IO.Pipelines
return pipe.Reader;
}
- public static IPipeWriter CreateWriter(PipeOptions options, Stream stream)
+ public static PipeWriter CreateWriter(PipeOptions options, Stream stream)
{
if (!stream.CanWrite)
{
diff --git a/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsMessageParser.cs b/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsMessageParser.cs
index 08799a5052..633b54945a 100644
--- a/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsMessageParser.cs
+++ b/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsMessageParser.cs
@@ -3,6 +3,7 @@
using System;
using System.Buffers;
+using System.Collections;
using System.Collections.Generic;
using System.Collections.Sequences;
using System.IO.Pipelines;
@@ -24,7 +25,7 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
private InternalParseState _internalParserState = InternalParseState.ReadMessagePayload;
private List _data = new List();
- public ParseResult ParseMessage(ReadOnlyBuffer buffer, out Position consumed, out Position examined, out byte[] message)
+ public ParseResult ParseMessage(ReadOnlyBuffer buffer, out SequencePosition consumed, out SequencePosition examined, out byte[] message)
{
consumed = buffer.Start;
examined = buffer.End;
@@ -35,7 +36,7 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
while (buffer.Length > 0)
{
- if (ReadOnlyBuffer.Seek(start, end, out var lineEnd, ByteLF) == -1)
+ if (!(buffer.PositionOf(ByteLF) is SequencePosition lineEnd))
{
// For the case of data: Foo\r\n\r\
if (_internalParserState == InternalParseState.ReadEndOfMessage)
@@ -50,7 +51,7 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
return ParseResult.Incomplete;
}
- lineEnd = buffer.Move(lineEnd, 1);
+ lineEnd = buffer.GetPosition(lineEnd, 1);
var line = ConvertBufferToSpan(buffer.Slice(start, lineEnd));
buffer = buffer.Slice(line.Length);
@@ -148,9 +149,9 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
- private ReadOnlySpan ConvertBufferToSpan(ReadOnlyBuffer buffer)
+ private ReadOnlySpan ConvertBufferToSpan(ReadOnlyBuffer buffer)
{
- if (buffer.IsSingleSpan)
+ if (buffer.IsSingleSegment)
{
return buffer.First.Span;
}
diff --git a/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsTransport.cs b/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsTransport.cs
index ae0340d5bf..864c98247c 100644
--- a/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsTransport.cs
+++ b/src/Microsoft.AspNetCore.Sockets.Client.Http/ServerSentEventsTransport.cs
@@ -86,7 +86,7 @@ namespace Microsoft.AspNetCore.Sockets.Client
var stream = await response.Content.ReadAsStreamAsync();
var pipelineReader = StreamPipeConnection.CreateReader(new PipeOptions(_memoryPool), stream);
var readCancellationRegistration = cancellationToken.Register(
- reader => ((IPipeReader)reader).CancelPendingRead(), pipelineReader);
+ reader => ((PipeReader)reader).CancelPendingRead(), pipelineReader);
try
{
while (true)
@@ -122,7 +122,7 @@ namespace Microsoft.AspNetCore.Sockets.Client
}
finally
{
- pipelineReader.Advance(consumed, examined);
+ pipelineReader.AdvanceTo(consumed, examined);
}
}
}
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
index 14752323fe..5bd48aba45 100644
--- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
+++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
@@ -3,6 +3,7 @@
using System;
using System.Buffers;
+using System.Collections;
using System.Collections.Generic;
using System.Collections.Sequences;
using System.IO.Pipelines;
@@ -32,7 +33,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
public void ParseSSEMessageSuccessCases(string encodedMessage, string expectedMessage)
{
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
- var readableBuffer = new ReadOnlyBuffer(buffer);
+ var readableBuffer = new ReadOnlyBuffer(buffer);
var parser = new ServerSentEventsMessageParser();
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
@@ -58,7 +59,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
public void ParseSSEMessageFailureCases(string encodedMessage, string expectedExceptionMessage)
{
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
- var readableBuffer = new ReadOnlyBuffer(buffer);
+ var readableBuffer = new ReadOnlyBuffer(buffer);
var parser = new ServerSentEventsMessageParser();
var ex = Assert.Throws(() => { parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message); });
@@ -86,7 +87,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
public void ParseSSEMessageIncompleteParseResult(string encodedMessage)
{
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
- var readableBuffer = new ReadOnlyBuffer(buffer);
+ var readableBuffer = new ReadOnlyBuffer(buffer);
var parser = new ServerSentEventsMessageParser();
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
@@ -114,7 +115,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
var pipe = new Pipe(new PipeOptions(pool));
byte[] message = null;
- Position consumed = default, examined = default;
+ SequencePosition consumed = default, examined = default;
for (var i = 0; i < messageParts.Length; i++)
{
@@ -123,7 +124,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
var result = await pipe.Reader.ReadAsync();
var parseResult = parser.ParseMessage(result.Buffer, out consumed, out examined, out message);
- pipe.Reader.Advance(consumed, examined);
+ pipe.Reader.AdvanceTo(consumed, examined);
// parse result should be complete only after we parsed the last message part
var expectedResult =
@@ -167,7 +168,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
var parseResult = parser.ParseMessage(result.Buffer, out var consumed, out var examined, out var buffer);
Assert.Equal(ServerSentEventsMessageParser.ParseResult.Incomplete, parseResult);
- pipe.Reader.Advance(consumed, examined);
+ pipe.Reader.AdvanceTo(consumed, examined);
// Send the rest of the data and parse the complete message
await pipe.Writer.WriteAsync(Encoding.UTF8.GetBytes(encodedMessagePart2));
@@ -195,8 +196,8 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
var parseResult = parser.ParseMessage(result.Buffer, out var consumed, out var examined, out var message);
Assert.Equal(ServerSentEventsMessageParser.ParseResult.Completed, parseResult);
Assert.Equal("foo", Encoding.UTF8.GetString(message));
- Assert.Equal(consumed, result.Buffer.Move(result.Buffer.Start, message1.Length));
- pipe.Reader.Advance(consumed, examined);
+ Assert.Equal(consumed, result.Buffer.GetPosition(result.Buffer.Start, message1.Length));
+ pipe.Reader.AdvanceTo(consumed, examined);
Assert.Equal(consumed, examined);
parser.Reset();
@@ -205,7 +206,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
parseResult = parser.ParseMessage(result.Buffer, out consumed, out examined, out message);
Assert.Equal(ServerSentEventsMessageParser.ParseResult.Completed, parseResult);
Assert.Equal("bar", Encoding.UTF8.GetString(message));
- pipe.Reader.Advance(consumed, examined);
+ pipe.Reader.AdvanceTo(consumed, examined);
}
}
@@ -223,7 +224,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
public void ParseMessagesWithMultipleDataLines(string encodedMessage, string expectedMessage)
{
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
- var readableBuffer = new ReadOnlyBuffer(buffer);
+ var readableBuffer = new ReadOnlyBuffer(buffer);
var parser = new ServerSentEventsMessageParser();
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);