Git Product home page Git Product logo

reactor-core-dotnet's Issues

Simulating a queue

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.

Copy documentation from Reactor-Core JVM

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.

Release to NuGet

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.

Examples

This is an awesome project! Would love to see some examples of how to use it.

reactor-netty port and reactor-extra

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.

Make IMono awaitable

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.