parent
0eca36ed26
commit
8a4adf1cb6
|
|
@ -31,7 +31,7 @@
|
||||||
<MicrosoftAspNetCoreTestHostPackageVersion>2.1.0-preview1-27942</MicrosoftAspNetCoreTestHostPackageVersion>
|
<MicrosoftAspNetCoreTestHostPackageVersion>2.1.0-preview1-27942</MicrosoftAspNetCoreTestHostPackageVersion>
|
||||||
<MicrosoftAspNetCoreTestingPackageVersion>2.1.0-preview1-27942</MicrosoftAspNetCoreTestingPackageVersion>
|
<MicrosoftAspNetCoreTestingPackageVersion>2.1.0-preview1-27942</MicrosoftAspNetCoreTestingPackageVersion>
|
||||||
<MicrosoftAspNetCoreWebSocketsPackageVersion>2.1.0-preview1-27942</MicrosoftAspNetCoreWebSocketsPackageVersion>
|
<MicrosoftAspNetCoreWebSocketsPackageVersion>2.1.0-preview1-27942</MicrosoftAspNetCoreWebSocketsPackageVersion>
|
||||||
<MicrosoftCSharpPackageVersion>4.5.0-preview1-26016-05</MicrosoftCSharpPackageVersion>
|
<MicrosoftCSharpPackageVersion>4.5.0-preview1-26102-01</MicrosoftCSharpPackageVersion>
|
||||||
<MicrosoftEntityFrameworkCoreDesignPackageVersion>2.1.0-preview1-27942</MicrosoftEntityFrameworkCoreDesignPackageVersion>
|
<MicrosoftEntityFrameworkCoreDesignPackageVersion>2.1.0-preview1-27942</MicrosoftEntityFrameworkCoreDesignPackageVersion>
|
||||||
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>2.1.0-preview1-27942</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
|
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>2.1.0-preview1-27942</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
|
||||||
<MicrosoftEntityFrameworkCoreToolsPackageVersion>2.1.0-preview1-27942</MicrosoftEntityFrameworkCoreToolsPackageVersion>
|
<MicrosoftEntityFrameworkCoreToolsPackageVersion>2.1.0-preview1-27942</MicrosoftEntityFrameworkCoreToolsPackageVersion>
|
||||||
|
|
@ -53,21 +53,21 @@
|
||||||
<MicrosoftExtensionsSecurityHelperSourcesPackageVersion>2.1.0-preview1-27942</MicrosoftExtensionsSecurityHelperSourcesPackageVersion>
|
<MicrosoftExtensionsSecurityHelperSourcesPackageVersion>2.1.0-preview1-27942</MicrosoftExtensionsSecurityHelperSourcesPackageVersion>
|
||||||
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>2.1.0-preview1-27942</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
|
<MicrosoftExtensionsValueStopwatchSourcesPackageVersion>2.1.0-preview1-27942</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
|
||||||
<MicrosoftNETCoreApp20PackageVersion>2.0.0</MicrosoftNETCoreApp20PackageVersion>
|
<MicrosoftNETCoreApp20PackageVersion>2.0.0</MicrosoftNETCoreApp20PackageVersion>
|
||||||
<MicrosoftNETCoreApp21PackageVersion>2.1.0-preview1-26016-05</MicrosoftNETCoreApp21PackageVersion>
|
<MicrosoftNETCoreApp21PackageVersion>2.1.0-preview1-26102-01</MicrosoftNETCoreApp21PackageVersion>
|
||||||
<MicrosoftNETTestSdkPackageVersion>15.3.0</MicrosoftNETTestSdkPackageVersion>
|
<MicrosoftNETTestSdkPackageVersion>15.3.0</MicrosoftNETTestSdkPackageVersion>
|
||||||
<MoqPackageVersion>4.7.49</MoqPackageVersion>
|
<MoqPackageVersion>4.7.49</MoqPackageVersion>
|
||||||
<MsgPackCliPackageVersion>0.9.0-beta2</MsgPackCliPackageVersion>
|
<MsgPackCliPackageVersion>0.9.0-beta2</MsgPackCliPackageVersion>
|
||||||
<NewtonsoftJsonPackageVersion>10.0.1</NewtonsoftJsonPackageVersion>
|
<NewtonsoftJsonPackageVersion>10.0.1</NewtonsoftJsonPackageVersion>
|
||||||
<StackExchangeRedisStrongNamePackageVersion>1.2.4</StackExchangeRedisStrongNamePackageVersion>
|
<StackExchangeRedisStrongNamePackageVersion>1.2.4</StackExchangeRedisStrongNamePackageVersion>
|
||||||
<SystemBuffersPrimitivesPackageVersion>0.1.0-e171215-1</SystemBuffersPrimitivesPackageVersion>
|
<SystemBuffersPrimitivesPackageVersion>0.1.0-e180104-2</SystemBuffersPrimitivesPackageVersion>
|
||||||
<SystemIOPipelinesExtensionsPackageVersion>0.1.0-e171215-1</SystemIOPipelinesExtensionsPackageVersion>
|
<SystemIOPipelinesExtensionsPackageVersion>0.1.0-e180104-2</SystemIOPipelinesExtensionsPackageVersion>
|
||||||
<SystemIOPipelinesPackageVersion>0.1.0-e171215-1</SystemIOPipelinesPackageVersion>
|
<SystemIOPipelinesPackageVersion>0.1.0-e180104-2</SystemIOPipelinesPackageVersion>
|
||||||
<SystemMemoryPackageVersion>4.5.0-preview1-26016-05</SystemMemoryPackageVersion>
|
<SystemMemoryPackageVersion>4.5.0-preview1-26102-01</SystemMemoryPackageVersion>
|
||||||
<SystemNumericsVectorsPackageVersion>4.5.0-preview1-26016-05</SystemNumericsVectorsPackageVersion>
|
<SystemNumericsVectorsPackageVersion>4.5.0-preview1-26102-01</SystemNumericsVectorsPackageVersion>
|
||||||
<SystemReactiveLinqPackageVersion>3.1.1</SystemReactiveLinqPackageVersion>
|
<SystemReactiveLinqPackageVersion>3.1.1</SystemReactiveLinqPackageVersion>
|
||||||
<SystemReflectionEmitPackageVersion>4.3.0</SystemReflectionEmitPackageVersion>
|
<SystemReflectionEmitPackageVersion>4.3.0</SystemReflectionEmitPackageVersion>
|
||||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.5.0-preview1-26016-05</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.5.0-preview1-26102-01</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||||
<SystemThreadingChannelsPackageVersion>4.5.0-preview1-26016-05</SystemThreadingChannelsPackageVersion>
|
<SystemThreadingChannelsPackageVersion>4.5.0-preview1-26102-01</SystemThreadingChannelsPackageVersion>
|
||||||
<SystemThreadingTasksExtensionsPackageVersion>4.5.0-preview2-25707-02</SystemThreadingTasksExtensionsPackageVersion>
|
<SystemThreadingTasksExtensionsPackageVersion>4.5.0-preview2-25707-02</SystemThreadingTasksExtensionsPackageVersion>
|
||||||
<XunitPackageVersion>2.3.1</XunitPackageVersion>
|
<XunitPackageVersion>2.3.1</XunitPackageVersion>
|
||||||
<XunitRunnerVisualStudioPackageVersion>2.3.1</XunitRunnerVisualStudioPackageVersion>
|
<XunitRunnerVisualStudioPackageVersion>2.3.1</XunitRunnerVisualStudioPackageVersion>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Buffers;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Sequences;
|
||||||
using System.IO.Pipelines;
|
using System.IO.Pipelines;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
@ -22,7 +24,7 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
|
||||||
private InternalParseState _internalParserState = InternalParseState.ReadMessagePayload;
|
private InternalParseState _internalParserState = InternalParseState.ReadMessagePayload;
|
||||||
private List<byte[]> _data = new List<byte[]>();
|
private List<byte[]> _data = new List<byte[]>();
|
||||||
|
|
||||||
public ParseResult ParseMessage(ReadableBuffer buffer, out ReadCursor consumed, out ReadCursor examined, out byte[] message)
|
public ParseResult ParseMessage(ReadOnlyBuffer buffer, out Position consumed, out Position examined, out byte[] message)
|
||||||
{
|
{
|
||||||
consumed = buffer.Start;
|
consumed = buffer.Start;
|
||||||
examined = buffer.End;
|
examined = buffer.End;
|
||||||
|
|
@ -33,7 +35,7 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
|
||||||
|
|
||||||
while (buffer.Length > 0)
|
while (buffer.Length > 0)
|
||||||
{
|
{
|
||||||
if (ReadCursorOperations.Seek(start, end, out var lineEnd, ByteLF) == -1)
|
if (ReadOnlyBuffer.Seek(start, end, out var lineEnd, ByteLF) == -1)
|
||||||
{
|
{
|
||||||
// For the case of data: Foo\r\n\r\<Anytine except \n>
|
// For the case of data: Foo\r\n\r\<Anytine except \n>
|
||||||
if (_internalParserState == InternalParseState.ReadEndOfMessage)
|
if (_internalParserState == InternalParseState.ReadEndOfMessage)
|
||||||
|
|
@ -146,7 +148,7 @@ namespace Microsoft.AspNetCore.Sockets.Internal.Formatters
|
||||||
}
|
}
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
private ReadOnlySpan<byte> ConvertBufferToSpan(ReadableBuffer buffer)
|
private ReadOnlySpan<byte> ConvertBufferToSpan(ReadOnlyBuffer buffer)
|
||||||
{
|
{
|
||||||
if (buffer.IsSingleSpan)
|
if (buffer.IsSingleSpan)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Buffers;
|
using System.Buffers;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Sequences;
|
||||||
using System.IO.Pipelines;
|
using System.IO.Pipelines;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
@ -31,7 +32,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
|
||||||
public void ParseSSEMessageSuccessCases(string encodedMessage, string expectedMessage)
|
public void ParseSSEMessageSuccessCases(string encodedMessage, string expectedMessage)
|
||||||
{
|
{
|
||||||
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
||||||
var readableBuffer = ReadableBuffer.Create(buffer);
|
var readableBuffer = new ReadOnlyBuffer(buffer);
|
||||||
var parser = new ServerSentEventsMessageParser();
|
var parser = new ServerSentEventsMessageParser();
|
||||||
|
|
||||||
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
|
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
|
||||||
|
|
@ -57,7 +58,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
|
||||||
public void ParseSSEMessageFailureCases(string encodedMessage, string expectedExceptionMessage)
|
public void ParseSSEMessageFailureCases(string encodedMessage, string expectedExceptionMessage)
|
||||||
{
|
{
|
||||||
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
||||||
var readableBuffer = ReadableBuffer.Create(buffer);
|
var readableBuffer = new ReadOnlyBuffer(buffer);
|
||||||
var parser = new ServerSentEventsMessageParser();
|
var parser = new ServerSentEventsMessageParser();
|
||||||
|
|
||||||
var ex = Assert.Throws<FormatException>(() => { parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message); });
|
var ex = Assert.Throws<FormatException>(() => { parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message); });
|
||||||
|
|
@ -85,7 +86,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
|
||||||
public void ParseSSEMessageIncompleteParseResult(string encodedMessage)
|
public void ParseSSEMessageIncompleteParseResult(string encodedMessage)
|
||||||
{
|
{
|
||||||
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
||||||
var readableBuffer = ReadableBuffer.Create(buffer);
|
var readableBuffer = new ReadOnlyBuffer(buffer);
|
||||||
var parser = new ServerSentEventsMessageParser();
|
var parser = new ServerSentEventsMessageParser();
|
||||||
|
|
||||||
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
|
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
|
||||||
|
|
@ -113,7 +114,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
|
||||||
var pipe = new Pipe(new PipeOptions(pool));
|
var pipe = new Pipe(new PipeOptions(pool));
|
||||||
|
|
||||||
byte[] message = null;
|
byte[] message = null;
|
||||||
ReadCursor consumed = default, examined = default;
|
Position consumed = default, examined = default;
|
||||||
|
|
||||||
for (var i = 0; i < messageParts.Length; i++)
|
for (var i = 0; i < messageParts.Length; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -222,7 +223,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
|
||||||
public void ParseMessagesWithMultipleDataLines(string encodedMessage, string expectedMessage)
|
public void ParseMessagesWithMultipleDataLines(string encodedMessage, string expectedMessage)
|
||||||
{
|
{
|
||||||
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
var buffer = Encoding.UTF8.GetBytes(encodedMessage);
|
||||||
var readableBuffer = ReadableBuffer.Create(buffer);
|
var readableBuffer = new ReadOnlyBuffer(buffer);
|
||||||
var parser = new ServerSentEventsMessageParser();
|
var parser = new ServerSentEventsMessageParser();
|
||||||
|
|
||||||
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
|
var parseResult = parser.ParseMessage(readableBuffer, out var consumed, out var examined, out var message);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue