DEV Community

Discussion on: C# events as asynchronous streams with ReactiveX or Channels

Collapse
 
noseratio profile image
Andrew Nosenko • Edited

I think you mean AsyncRx.NET, in which case it's already there in the master. However, it hasn't been officially published as a Nuget package, and sadly, it doesn't look like it will be any time soon:

When will AsyncRx.NET release?

We don't know as there hasn't been much development around it lately, or some documentation for devs. Besides, I find it too convoluted and I feel uncomfortable supporting it at this point in time. I recommend AsyncEnumerables instead.

Note that AsyncRx.NET is built around IAsyncObservable<T>, which actually is dual to IAsyncEnumerable<T> (similar to how Rx's IObservable<T> is dual to IEnumerable<T>). So, even though Rx maintainers recommend using AsyncEnumerables above, it isn't a direct substitute for what can be done with IAsyncEnumerable (e.g., here's how they play with it).

OTOH, it appears that Project Orleans uses IAsyncEnumerable for their async streams implementations, so maybe it will have the future there.