Skip to content

Commit 6f9d317

Browse files
author
Oren (electricessence)
committed
Added docs.
1 parent 03fdfe3 commit 6f9d317

29 files changed

+23481
-7
lines changed

Open.ChannelExtensions.Tests/BasicTests.cs

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static async Task ReadAll(int testSize)
2222

2323
var sw = Stopwatch.StartNew();
2424
var total = await range
25-
.ToChannel()
25+
.ToChannel(singleReader: true)
2626
.ReadAll(i => result.Add(i));
2727
sw.Stop();
2828

@@ -44,7 +44,7 @@ public static async Task ReadAllAsync(int testSize)
4444

4545
var sw = Stopwatch.StartNew();
4646
var total = await range
47-
.ToChannel()
47+
.ToChannel(singleReader: true)
4848
.ReadAllAsync(i =>
4949
{
5050
result.Add(i);
@@ -73,8 +73,8 @@ public static async Task BatchThenJoin(int testSize, int batchSize)
7373
{
7474
var sw = Stopwatch.StartNew();
7575
var total = await range
76-
.ToChannel()
77-
.Batch(batchSize)
76+
.ToChannel(singleReader: true)
77+
.Batch(batchSize, singleReader: true)
7878
.ReadAll(i => result1.Add(i));
7979
sw.Stop();
8080

@@ -90,8 +90,8 @@ public static async Task BatchThenJoin(int testSize, int batchSize)
9090
var result2 = new List<int>(testSize);
9191
var sw = Stopwatch.StartNew();
9292
var total = await result1
93-
.ToChannel()
94-
.Join()
93+
.ToChannel(singleReader: true)
94+
.Join(singleReader: true)
9595
.ReadAll(i => result2.Add(i));
9696
sw.Stop();
9797

@@ -120,7 +120,7 @@ public static async Task BatchJoin(int testSize, int batchSize)
120120

121121
var sw = Stopwatch.StartNew();
122122
var total = await range
123-
.ToChannel()
123+
.ToChannel(singleReader: true)
124124
.Batch(batchSize)
125125
.Join()
126126
.ReadAll(i => result.Add(i));
@@ -132,5 +132,29 @@ public static async Task BatchJoin(int testSize, int batchSize)
132132
Assert.Equal(testSize, result.Count);
133133
Assert.True(result.SequenceEqual(range));
134134
}
135+
136+
[Theory]
137+
[InlineData(testSize1)]
138+
[InlineData(testSize2)]
139+
public static async Task Filter(int testSize)
140+
{
141+
var range = Enumerable.Range(0, testSize);
142+
var count = testSize / 2;
143+
var result = new List<int>(count);
144+
145+
var sw = Stopwatch.StartNew();
146+
var total = await range
147+
.ToChannel(singleReader: true)
148+
.Filter(i => i % 2 == 1)
149+
.ReadAll(i => result.Add(i));
150+
sw.Stop();
151+
152+
Console.WriteLine("Channel.Filter(): {0}", sw.Elapsed);
153+
Console.WriteLine();
154+
155+
Assert.Equal(count, result.Count);
156+
Assert.True(result.SequenceEqual(range.Where(i => i % 2 == 1)));
157+
}
158+
135159
}
136160
}

Open.ChannelExtensions/Open.ChannelExtensions.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ Part of the "Open" set of libraries.
3333
<DocumentationFile>docs\Documentation.xml</DocumentationFile>
3434
</PropertyGroup>
3535

36+
<ItemGroup>
37+
<Compile Remove="api\**" />
38+
<Compile Remove="docs\**" />
39+
<EmbeddedResource Remove="api\**" />
40+
<EmbeddedResource Remove="docs\**" />
41+
<None Remove="api\**" />
42+
<None Remove="docs\**" />
43+
</ItemGroup>
44+
3645
<ItemGroup>
3746
<PackageReference Include="System.Threading.Channels" Version="4.5.0" />
3847
</ItemGroup>

Open.ChannelExtensions/api/.manifest

Lines changed: 80 additions & 0 deletions
Large diffs are not rendered by default.

Open.ChannelExtensions/api/Open.ChannelExtensions.Extensions.yml

Lines changed: 8307 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
### YamlMime:ManagedReference
2+
items:
3+
- uid: Open.ChannelExtensions
4+
commentId: N:Open.ChannelExtensions
5+
id: Open.ChannelExtensions
6+
children:
7+
- Open.ChannelExtensions.Extensions
8+
langs:
9+
- csharp
10+
- vb
11+
name: Open.ChannelExtensions
12+
nameWithType: Open.ChannelExtensions
13+
fullName: Open.ChannelExtensions
14+
type: Namespace
15+
assemblies:
16+
- Open.ChannelExtensions
17+
references:
18+
- uid: Open.ChannelExtensions.Extensions
19+
commentId: T:Open.ChannelExtensions.Extensions
20+
name: Extensions
21+
nameWithType: Extensions
22+
fullName: Open.ChannelExtensions.Extensions

Open.ChannelExtensions/api/toc.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
### YamlMime:TableOfContent
2+
- uid: Open.ChannelExtensions
3+
name: Open.ChannelExtensions
4+
items:
5+
- uid: Open.ChannelExtensions.Extensions
6+
name: Extensions

Open.ChannelExtensions/docfx.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"metadata": [
3+
{
4+
"src": [
5+
{
6+
"files": [
7+
"**.csproj"
8+
]
9+
}
10+
],
11+
"dest": "api"
12+
}
13+
],
14+
"build": {
15+
"content": [
16+
{
17+
"files": [
18+
"api/**.yml",
19+
"api/index.md",
20+
"index.md"
21+
]
22+
},
23+
{
24+
"files": [
25+
"toc.yml",
26+
"*.md"
27+
]
28+
}
29+
],
30+
"resource": [
31+
{
32+
"files": [
33+
"images/**"
34+
]
35+
}
36+
],
37+
"overwrite": [
38+
{
39+
"files": [
40+
"apidoc/**.md"
41+
],
42+
"exclude": [
43+
"obj/**",
44+
"docs/**"
45+
]
46+
}
47+
],
48+
"dest": "docs",
49+
"globalMetadataFiles": [],
50+
"fileMetadataFiles": [],
51+
"template": [
52+
"default"
53+
],
54+
"postProcessors": [],
55+
"noLangKeyword": false
56+
}
57+
}

0 commit comments

Comments
 (0)