Fluent reactive programming library for C# on top of Reactive-Streams, mirroring the Reactor-Core for JVM.
NuGet: https://www.nuget.org/packages/Reactor.Core/
Install:
PM> Install-Package Reactor.Core
Fluent reactive programming library for C# on top of Reactive-Streams, mirroring the Reactor-Core for JVM
License: Apache License 2.0
Fluent reactive programming library for C# on top of Reactive-Streams, mirroring the Reactor-Core for JVM.
NuGet: https://www.nuget.org/packages/Reactor.Core/
Install:
PM> Install-Package Reactor.Core
i will start porting these two projects, reactor-netty will be ported on a top of DotNetty but the HTTP server/client will be not ported as of now because DotNetty doesn't support yet. Regarding the reactor-extra package i will port the retry logic and also the math, i will try to build also Orleans and Akka Schedulers so we can interact with them.
This is only an idea: as IMono<>
essentially represents an eventually received value, it makes it quite close in mind to what Task<>
can do. To increase interoperability with existing .NET code, it could implement custom awaiter methods and allow to be returned directly from async/await code.
C# allows to build custom awaiters using indirect API, which could be consolidated into two interfaces (representing iterator pattern and implemented by Task):
interface IMono<T>
{
IMonoAwaiter<T> GetAwaiter();
}
interface IMonoAwaiter<T> : INotifyCompletion
{
bool IsCompleted { get; }
void OnCompleted(Action continuation);
T GetResult();
}
// use
public async IMono<int> ComputeInner()
{
return Mono.From(() => 1);
}
public async Task<User> ComputeOuter()
{
var id = await ComputeInner();
return await db.GetUserAsync(id);
}
This way you can not only build monos from tasks, but also be able to use monos in async/await code at zero cost.
Hi,
Is there an equivalent in Reactor .net of the java work queue? Basically, I've got a situation where I want one thread to push an object on to a queue and then a second thread to pop the queue and process the item.
ARe there any classes/constructs in Reactor core that will help with this?
Any help appreciated.
Kind regards
Sean.
Releasing to NuGet is trivial with NuGet Package Explorer. However, such releases require a NuGet private key. Since this is not my own project anymore, we should figure out how to release under a Reactor-banner to NuGet, i.e., I or @smaldini could perform the action.
Hi,
Is there a way wit hReactor to convert an RX IObservable to an IPublisher?
Any help appreciated.
Kind regards
Sean.
Now that the Flux
and Mono
extension-method classes have relevant methods specified, it would be great someone would take the arguably tedious task and copy the Javadoc documentation over and have it as a C# documentation of ///
.
It would be great {@link ...}
were turned into <see cref=""/>
tags.
I'm working on the operator implementations but I don't expect any conflicts in the Flux.cs and Mono.cs files themselves.
This is an awesome project! Would love to see some examples of how to use it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.