Coder Social home page Coder Social logo

Redis, RabbitMQ, Kafka adapters about js-csp HOT 5 CLOSED

js-csp avatar js-csp commented on June 26, 2024
Redis, RabbitMQ, Kafka adapters

from js-csp.

Comments (5)

nmn avatar nmn commented on June 26, 2024

Just wanted to add something here:

The main challenge with the adapters is the way to block on put. The RxJS/Observable way of fire and forget is relatively trivial to implement.

from js-csp.

zeroware avatar zeroware commented on June 26, 2024

I like the idea of adapters but I don't know if the name is appropriate.
I think that we need to decide about the error handling (#14) before implementing things.

from js-csp.

jlongster avatar jlongster commented on June 26, 2024

I don't fully understand the problem; you just need to implement whatever kind of inter-process communication you want, and provide a channel as the interface. I wouldn't implement the channel interface, I would just provide a real channel that the backend listens for puts and takes and dispatches those to the backend implementation of sending/receiving values.

from js-csp.

zeroware avatar zeroware commented on June 26, 2024

@jlongster Yes I agree. This kind of "adapters" has nothing to do with the core lib. We can just have another module that can take i/o from and to channels.

from js-csp.

nmn avatar nmn commented on June 26, 2024

@jlongster @zeroware I think I wasn't clear in that I don't think the adapters themselves should be a part of the core lib.

I've been doing some research on this. Most solutions for inter-process communication, as well as most async solutions for javascript have one thing in common — fire and forget.

RXjs, BaconJS, Redis, Web Workers, Node Child Processes etc. In all cases, when you fire an event or publish a value on a stream, you don't wait for a listener.

Channels are unique in their ability to block on put. I think there should be an official way to map the usual fire and forget method to a block on put.

So far the only solution I can think of is to send a message and then wait for a confirmation response. Would love to hear your thoughts.

from js-csp.

Related Issues (20)

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.