Skip to content

Commit b14470e

Browse files
committed
Rename namespace from Devlooped to Devlooped.Net
Make it a bit more specific to avoid future collisions with stuff from other packages. Fixes #4
1 parent 3dca21c commit b14470e

10 files changed

Lines changed: 485 additions & 493 deletions

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ High-performance System.IO.Pipelines API adapter for System.Net.WebSockets
1111
# Usage
1212

1313
```csharp
14-
using Devlooped;
14+
using Devlooped.Net;
1515

1616
var client = new ClientWebSocket();
1717
await client.ConnectAsync(serverUri, CancellationToken.None);

src/Tests/EndToEnd.cs

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,53 @@
11
using System.IO.Pipelines;
2-
using System.Net;
32
using System.Net.WebSockets;
43
using System.Text;
54
using Xunit;
65
using Xunit.Abstractions;
76

8-
namespace Devlooped
7+
namespace Devlooped.Net;
8+
9+
public record EndToEnd(ITestOutputHelper Output)
910
{
10-
public record EndToEnd(ITestOutputHelper Output)
11+
[Fact]
12+
public async Task RunAsync()
1113
{
12-
[Fact]
13-
public async Task RunAsync()
14-
{
15-
await using var server = WebSocketServer.Create(Echo, null, Output);
14+
await using var server = WebSocketServer.Create(Echo, null, Output);
1615

17-
var client = new ClientWebSocket();
16+
var client = new ClientWebSocket();
1817

19-
await client.ConnectAsync(server.Uri, CancellationToken.None);
20-
using var pipe = WebSocketPipe.Create(client, closeWhenCompleted: true);
18+
await client.ConnectAsync(server.Uri, CancellationToken.None);
19+
using var pipe = WebSocketPipe.Create(client, closeWhenCompleted: true);
2120

22-
var read = Task.Run(async () =>
23-
{
24-
var read = await pipe.Input.ReadAsync();
25-
Output.WriteLine("Client: " + Encoding.UTF8.GetString(read.Buffer));
26-
await pipe.CompleteAsync(WebSocketCloseStatus.NormalClosure, "Client Done");
27-
});
21+
var read = Task.Run(async () =>
22+
{
23+
var read = await pipe.Input.ReadAsync();
24+
Output.WriteLine("Client: " + Encoding.UTF8.GetString(read.Buffer));
25+
await pipe.CompleteAsync(WebSocketCloseStatus.NormalClosure, "Client Done");
26+
});
2827

29-
var run = pipe.RunAsync();
28+
var run = pipe.RunAsync();
3029

31-
pipe.Output.Advance(Encoding.UTF8.GetBytes("hello", pipe.Output.GetSpan()));
32-
await pipe.Output.FlushAsync();
30+
pipe.Output.Advance(Encoding.UTF8.GetBytes("hello", pipe.Output.GetSpan()));
31+
await pipe.Output.FlushAsync();
3332

34-
//await pipe.Output.WriteAsync(Encoding.UTF8.GetBytes("hello").AsMemory());
33+
//await pipe.Output.WriteAsync(Encoding.UTF8.GetBytes("hello").AsMemory());
3534

36-
await read;
37-
await run;
35+
await read;
36+
await run;
3837

39-
Assert.NotEqual(WebSocketState.Open, pipe.State);
40-
Assert.Equal("Client Done", pipe.CloseStatusDescription);
41-
}
38+
Assert.NotEqual(WebSocketState.Open, pipe.State);
39+
Assert.Equal("Client Done", pipe.CloseStatusDescription);
40+
}
4241

43-
async Task Echo(IDuplexPipe pipe)
42+
async Task Echo(IDuplexPipe pipe)
43+
{
44+
while (await pipe.Input.ReadAsync() is var result && !result.IsCompleted)
4445
{
45-
while (await pipe.Input.ReadAsync() is var result && !result.IsCompleted)
46-
{
47-
Output.WriteLine($"Echoing: {Encoding.UTF8.GetString(result.Buffer)}");
48-
// Just assume we get a single-segment entry, for simplicity
49-
await pipe.Output.WriteAsync(result.Buffer.First);
50-
pipe.Input.AdvanceTo(result.Buffer.End);
51-
}
52-
Output.WriteLine($"Server: Done.");
46+
Output.WriteLine($"Echoing: {Encoding.UTF8.GetString(result.Buffer)}");
47+
// Just assume we get a single-segment entry, for simplicity
48+
await pipe.Output.WriteAsync(result.Buffer.First);
49+
pipe.Input.AdvanceTo(result.Buffer.End);
5350
}
51+
Output.WriteLine($"Server: Done.");
5452
}
5553
}

0 commit comments

Comments
 (0)