Skip to content

Commit 5af029b

Browse files
author
Oren (electricessence)
committed
Updated references. Added snugpk.
1 parent b758cca commit 5af029b

11 files changed

+45
-25
lines changed

Open.ChannelExtensions.Tests/Open.ChannelExtensions.Tests.csproj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
1616
<PackageReference Include="xunit" Version="2.4.1" />
1717
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.2" />
18-
<PackageReference Include="coverlet.collector" Version="1.0.1" />
18+
<PackageReference Include="coverlet.collector" Version="1.3.0">
19+
<PrivateAssets>all</PrivateAssets>
20+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
21+
</PackageReference>
1922
</ItemGroup>
2023

2124
</Project>

Open.ChannelExtensions/.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ dotnet_diagnostic.CA1303.severity = silent
55

66
# CA1031: Do not catch general exception types
77
dotnet_diagnostic.CA1031.severity = silent
8+
9+
# CA2012: Use ValueTasks correctly
10+
dotnet_diagnostic.CA2012.severity = suggestion

Open.ChannelExtensions/BatchingChannelReader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ protected override async ValueTask<bool> WaitToReadAsyncCore(ValueTask<bool> buf
9797
{
9898

9999
var source = Source;
100-
if (source == null) return await bufferWait;
100+
if (source == null) return await bufferWait.ConfigureAwait(false);
101101

102102
var b = bufferWait.AsTask();
103103
using var tokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);

Open.ChannelExtensions/BufferingChannelReader.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,14 +101,14 @@ public override ValueTask<bool> WaitToReadAsync(CancellationToken cancellationTo
101101
protected virtual async ValueTask<bool> WaitToReadAsyncCore(ValueTask<bool> bufferWait, CancellationToken cancellationToken)
102102
{
103103
var source = Source;
104-
if (source == null) return await bufferWait;
104+
if (source == null) return await bufferWait.ConfigureAwait(false);
105105

106106
using var tokenSource = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
107107
var token = tokenSource.Token;
108108

109109
start:
110110

111-
if (bufferWait.IsCompleted) return await bufferWait;
111+
if (bufferWait.IsCompleted) return await bufferWait.ConfigureAwait(false);
112112

113113
var s = source.WaitToReadAsync(token);
114114
if (s.IsCompleted && !bufferWait.IsCompleted) TryPipeItems();
@@ -118,7 +118,7 @@ protected virtual async ValueTask<bool> WaitToReadAsyncCore(ValueTask<bool> buff
118118
tokenSource.Cancel();
119119
return await bufferWait.ConfigureAwait(false);
120120
}
121-
await s;
121+
await s.ConfigureAwait(false);
122122
if (bufferWait.IsCompleted)
123123
{
124124
tokenSource.Cancel();

Open.ChannelExtensions/Extensions.Join.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ await source
114114
{
115115
await foreach (var e in batch)
116116
await writer.WriteAsync(e).ConfigureAwait(false);
117-
});
117+
}).ConfigureAwait(false);
118118
writer.Complete();
119119
}
120120
catch (Exception ex)

Open.ChannelExtensions/Extensions.Pipe.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public static async ValueTask<long> PipeTo<T>(this ChannelReader<T> source,
3030

3131
try
3232
{
33-
return await source.ReadAllAsync(e => target.WriteAsync(e, cancellationToken), cancellationToken);
33+
return await source.ReadAllAsync(e => target.WriteAsync(e, cancellationToken), cancellationToken).ConfigureAwait(false);
3434
}
3535
catch (Exception ex)
3636
{
@@ -65,7 +65,9 @@ public static ChannelReader<T> PipeTo<T>(this ChannelReader<T> source,
6565
if (target is null) throw new ArgumentNullException(nameof(target));
6666
Contract.EndContractBlock();
6767

68+
#pragma warning disable CA2012 // Not awaited because it's run by the scheduler and no need to incur the .AsTask() call.
6869
_ = PipeTo(source, target.Writer, true, cancellationToken);
70+
#pragma warning restore CA2012
6971

7072
return target.Reader;
7173
}
@@ -108,7 +110,7 @@ public static ChannelReader<TOut> PipeAsync<TIn, TOut>(this ChannelReader<TIn> s
108110
return channel.Reader;
109111

110112
async ValueTask ValueNotReady(ValueTask<TOut> value, CancellationToken token)
111-
=> await writer.WriteAsync(await value.ConfigureAwait(false), token).ConfigureAwait(false);
113+
=> await writer!.WriteAsync(await value.ConfigureAwait(false), token).ConfigureAwait(false);
112114
}
113115

114116
/// <summary>

Open.ChannelExtensions/Extensions.Read.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ public static async ValueTask<List<T>> ToListAsync<T>(this ChannelReader<T> read
960960
Contract.EndContractBlock();
961961

962962
var list = new List<T>();
963-
await ReadAll(reader, list.Add);
963+
await ReadAll(reader, list.Add).ConfigureAwait(false);
964964
return list;
965965
}
966966

Open.ChannelExtensions/Extensions.ReadConcurrently.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ async Task<long> Read()
5858
{
5959
try
6060
{
61-
return await reader.ReadUntilCancelledAsync(token, ParallelReceiver, true);
61+
return await reader.ReadUntilCancelledAsync(token, ParallelReceiver, true).ConfigureAwait(false);
6262
}
6363
catch
6464
{

Open.ChannelExtensions/Extensions.Transform.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public override bool TryRead(out TResult item)
3434
}
3535

3636
public override async ValueTask<TResult> ReadAsync(CancellationToken cancellationToken = default)
37-
=> _transform(await _source.ReadAsync(cancellationToken));
37+
=> _transform(await _source.ReadAsync(cancellationToken).ConfigureAwait(false));
3838

3939
public override ValueTask<bool> WaitToReadAsync(CancellationToken cancellationToken = default)
4040
=> _source.WaitToReadAsync(cancellationToken);

Open.ChannelExtensions/Open.ChannelExtensions.csproj

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,40 @@
33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0; netstandard2.1</TargetFrameworks>
55
<LangVersion>latest</LangVersion>
6+
<Nullable>enable</Nullable>
67
<Authors>electricessence</Authors>
7-
<Description>
8-
A set of extensions for optimizing/simplifying System.Threading.Channels usage.
8+
<Description>A set of extensions for optimizing/simplifying System.Threading.Channels usage.
99

10-
Includes:
11-
ReadUntilCancelled, ReadAll, ReadAllConcurrently, WriteAll, WriteAllConcurrently, and Pipe operations.
10+
Includes:
11+
ReadUntilCancelled, ReadAll, ReadAllConcurrently, WriteAll, WriteAllConcurrently, and Pipe operations.
1212

13-
Part of the "Open" set of libraries.
14-
</Description>
15-
<PackageProjectUrl>https://github.com/electricessence/Open.ChannelExtensions</PackageProjectUrl>
16-
<PackageLicenseUrl></PackageLicenseUrl>
17-
<Copyright>https://github.com/electricessence/Open.ChannelExtensions/blob/master/LICENSE</Copyright>
13+
Part of the "Open" set of libraries.</Description>
14+
<PackageTags>channel;channels;channel reader;channel writer;threading;tasks;extensions;async</PackageTags>
15+
<Copyright>https://github.com/Open-NET-Libraries/Open.ChannelExtensions/blob/master/LICENSE</Copyright>
16+
<PackageProjectUrl>https://github.com/Open-NET-Libraries/Open.ChannelExtensions</PackageProjectUrl>
17+
<RepositoryUrl>https://github.com/Open-NET-Libraries/Open.ChannelExtensions</RepositoryUrl>
1818
<RepositoryType>git</RepositoryType>
19-
<PackageTags>channels dotnet threading tasks extensions</PackageTags>
2019
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
21-
<Version>3.4.0</Version>
22-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
20+
<Version>3.4.1</Version>
2321
<PackageReleaseNotes></PackageReleaseNotes>
24-
<RepositoryUrl>https://github.com/electricessence/Open.ChannelExtensions</RepositoryUrl>
25-
<Nullable>enable</Nullable>
22+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
23+
<PublishRepositoryUrl>true</PublishRepositoryUrl>
24+
<IncludeSymbols>true</IncludeSymbols>
25+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
26+
<PackageIcon>logo.png</PackageIcon>
2627
</PropertyGroup>
2728

29+
<ItemGroup>
30+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
31+
</ItemGroup>
32+
33+
<ItemGroup>
34+
<None Include="logo.png">
35+
<Pack>True</Pack>
36+
<PackagePath></PackagePath>
37+
</None>
38+
</ItemGroup>
39+
2840
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
2941
<DocumentationFile>Documentation.xml</DocumentationFile>
3042
</PropertyGroup>

0 commit comments

Comments
 (0)