GitPedia
Open-NET-Libraries

Open-NET-Libraries/Open.ChannelExtensions

A set of extensions for optimizing/simplifying System.Threading.Channels usage.

8 Releases
Latest: 1y ago
.NET 9 Refreshv9.0Latest
electricessenceelectricessence·1y ago·November 18, 2024
GitHub

📋 Changes

  • Ensures proper use of `System.Threading.Lock` when locking in `BufferingChannelReader`.
  • Includes memory efficient object pooling options for `.Batch` and `.Join`.
V7v7.0
electricessenceelectricessence·2y ago·January 23, 2024
GitHub

First Channels V7 release.

Final V6 release.v6.3
electricessenceelectricessence·2y ago·January 23, 2024
GitHub

Final release for Channels V6.

.WithTimeout(milliseconds) & .WithTimeout(timespan)v5.1.3
electricessenceelectricessence·4y ago·October 12, 2021
GitHub
Updated reference to System.Threading.Channels 5.0.05.0.0
electricessenceelectricessence·4y ago·July 4, 2021
GitHub
Microsoft.SourceLink.GitHub Addedv3.4.1
electricessenceelectricessence·5y ago·July 15, 2020
GitHub

Added snupkg. Updated references with some improved instances of `.ConfigureAwait(false)`.

Improved exception handling for concurrent methods.v3.3.0
electricessenceelectricessence·6y ago·February 19, 2020
GitHub
.NET Standard 2.1 Support3.0.0
electricessenceelectricessence·6y ago·November 9, 2019
GitHub

📋 Changes

  • Although .NET Core 3 has `IAsyncEnumerable<T> ReadAllAsync<T>()`, I decided to expose `.AsAsyncEnumerable()` as an alternative for .NET Standard 2.1 users.
  • `.ToChannel<T>()` extension for `AsyncEnumerable<T>`.
  • `.Batch()` and `.Join()` extensions better leverage on-demand requests from the source channel.
  • `singleReader` optional parameter is commonly available.
  • `deferredExecution` optional parameter exposed to guarantee methods can yield to the caller.
  • Nullable support built in.
  • Expanded test coverage.