Skip to content

Commit b9f6ff3

Browse files
Merging AsyncEnumerable native library support and refactorings.
2 parents 6a0c864 + 5a83490 commit b9f6ff3

14 files changed

+76
-449
lines changed

.editorconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# editorconfig.org
2+
root = true
3+
4+
[*]
5+
indent_style = tab
6+
indent_size = tab
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true

RSocket.Core.Tests/ClientServerTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,17 @@
55
using Microsoft.VisualStudio.TestTools.UnitTesting;
66
using RSocket.Transports;
77

8+
using IRSocketStream = System.IObserver<(System.Buffers.ReadOnlySequence<byte> metadata, System.Buffers.ReadOnlySequence<byte> data)>;
9+
810
namespace RSocket.Tests
911
{
1012
[TestClass]
1113
public class ClientServerTests
1214
{
1315

1416
[TestClass]
15-
public class ClientTests
17+
[Ignore]
18+
public class ClientTests
1619
{
1720
Lazy<RSocketClient> _Client;
1821
RSocketClient Client => _Client.Value;

RSocket.Core.Tests/Extensions.cs

Lines changed: 0 additions & 41 deletions
This file was deleted.

RSocket.Core.Tests/RSocket.Core.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
</ItemGroup>
1414

1515
<ItemGroup>
16-
<PackageReference Include="akarnokd.async-enumerable-dotnet" Version="0.0.2" />
17-
<PackageReference Include="AsyncEnumerator" Version="2.2.2" />
1816
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
1917
<PackageReference Include="MSTest.TestAdapter" Version="1.4.0" />
2018
<PackageReference Include="MSTest.TestFramework" Version="1.4.0" />
19+
<PackageReference Include="System.Linq.Async" Version="4.0.0-preview.1.build.745" />
20+
<PackageReference Include="System.Reactive" Version="4.1.3" />
2121
</ItemGroup>
2222

2323
<ItemGroup>

RSocket.Core.Tests/ServerAlternateProducerTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
using System.Threading.Tasks;
66
using Microsoft.VisualStudio.TestTools.UnitTesting;
77
using RSocket.Transports;
8-
using async_enumerable_dotnet;
8+
using System.Linq;
9+
using System.Reactive.Linq;
910

1011
namespace RSocket.Tests
1112
{
@@ -21,11 +22,11 @@ public class ServerAlternateProducerTests
2122
[TestMethod]
2223
public async Task ServerRequestStreamTest()
2324
{
24-
Server.Streamer = ((ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata) request) =>
25-
AsyncEnumerable.Interval(TimeSpan.FromMilliseconds(10))
26-
.Take(3)
27-
.Map(i => (request.Data, request.Metadata))
28-
.ToAsyncEnumerable();
25+
Server.Streamer = ((ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata) request) =>
26+
Observable.Interval(TimeSpan.FromMilliseconds(10))
27+
.Take(3)
28+
.Select(i => (request.Data, request.Metadata))
29+
.ToAsyncEnumerable();
2930

3031
var (data, metadata) = ("TEST DATA", "METADATA?_____");
3132

RSocket.Core.Tests/ServerTests.cs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,9 @@ public async Task ServerRequestResponseTest()
3636
[TestMethod]
3737
public async Task ServerRequestStreamTest()
3838
{
39-
Server.Streamer = ((ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata) request) => new System.Collections.Async.AsyncEnumerable<(ReadOnlySequence<byte> data, ReadOnlySequence<byte> metadata)>(async yield =>
40-
{
41-
foreach (var index in Enumerable.Range(0, 3))
42-
{ await Task.CompletedTask; await yield.ReturnAsync((request.Data, request.Metadata)); }
43-
}).ToAsyncEnumerable();
39+
Server.Streamer = ((ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata) request) =>
40+
AsyncEnumerable.Range(0, 3)
41+
.Select(i => (request.Data, request.Metadata));
4442

4543
var (data, metadata) = ("TEST DATA", "METADATA?_____");
4644
var list = await StringClient.RequestStream(data, metadata).ToListAsync();
@@ -52,15 +50,11 @@ public async Task ServerRequestStreamTest()
5250
public async Task ServerRequestStreamBinaryDetailsTest()
5351
{
5452
var count = 20;
55-
Server.Streamer = ((ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata) request) => new System.Collections.Async.AsyncEnumerable<(ReadOnlySequence<byte> data, ReadOnlySequence<byte> metadata)>(async yield =>
56-
{
57-
foreach (byte index in Enumerable.Range(0, count))
58-
{
59-
await yield.ReturnAsync((
60-
new ReadOnlySequence<byte>(request.Data.ToArray().Skip(index).Take(1).ToArray()),
61-
new ReadOnlySequence<byte>(request.Metadata.ToArray().Skip(index).Take(1).ToArray())));
62-
}
63-
}).ToAsyncEnumerable();
53+
Server.Streamer = ((ReadOnlySequence<byte> Data, ReadOnlySequence<byte> Metadata) request) =>
54+
AsyncEnumerable.Range(0, count)
55+
.Select(i => (
56+
new ReadOnlySequence<byte>(request.Data.ToArray().Skip(i).Take(1).ToArray()),
57+
new ReadOnlySequence<byte>(request.Metadata.ToArray().Skip(i).Take(1).ToArray())));
6458

6559
var (requestData, requestMetadata) = (Enumerable.Range(1, count).Select(i => (byte)i).ToArray(), Enumerable.Range(100, count).Select(i => (byte)i).ToArray());
6660
var list = await Client.RequestStream(result => (Data: result.data.ToArray(), Metadata: result.metadata.ToArray()), new ReadOnlySequence<byte>(requestData), new ReadOnlySequence<byte>(requestMetadata)).ToListAsync();

RSocket.Core.Tests/TestServer.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
using System.Collections.Concurrent;
1010
using RSocket.Transports;
1111

12+
using IRSocketStream = System.IObserver<(System.Buffers.ReadOnlySequence<byte> metadata, System.Buffers.ReadOnlySequence<byte> data)>;
13+
1214
namespace RSocket.Tests
1315
{
1416
public class TestServer : RSocket

RSocket.Core/IAsyncEnumerable.cs

Lines changed: 0 additions & 173 deletions
This file was deleted.

RSocket.Core/RSocket.Core.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.2.0" />
2020
<PackageReference Include="System.IO.Pipelines" Version="4.5.3" />
2121
<PackageReference Include="System.Linq.Async" Version="4.0.0-preview.1.build.745" />
22+
<PackageReference Include="System.Reactive" Version="4.1.3" />
2223
</ItemGroup>
2324

2425
</Project>

0 commit comments

Comments
 (0)