@Stephan - The primary goal was to take _inspiration_ from the streams2 API to build an ideally easy-to-understand, easy-to-control binding to ZeroMQ. A big deal for me was straightforward handling of EAGAIN, a nemesis to previous iterations of the private project using these libraries.
@Alexey - Thanks for all your help. I can only answer a few of your questions right now, but I'll dig into the examples and issues you linked to shortly. 1) I ran into issues getting uv_poll to not block in EAGAIN situations. It's entirely possible (probable) I was doing something wrong. I'd like to find a better libuv integration, as the timer-based solution has a higher-than-ideal idle CPU usage. 2) I'll take a look at what you're suggesting, but I'd like to avoid introducing new constants at all costs, deferring to transparently providing a bare-bones ZeroMQ 3.2 binding (or a sensible subset thereof) instead. 6) I think that would be fantastic. I really do think zeromq.node's interface is much nicer. There are times, though, that I've needed more control than zeromq.node allowed (and should allow). Most people don't need that, and should use zeromq.node instead. 7) It works great, but since zmq-stream is meant to be a minimal wrapper, it uses .set(SUBSCRIBE, 'somevalue'). For an example, see shuttle's BroadcastHandler. Thanks for the continued support, gents. It's always a great feeling when something you create to make your life better gets this kind of interaction with other, smart(er) people. -Schoon On Thu, Apr 4, 2013 at 1:15 AM, Stéphan Kochen <[email protected]> wrote: > On 8 February 2013 19:02, Jacob Groundwater <[email protected]> wrote: >> >> If you can, the request/reply socket is broken for any asynchronous >> events, as ZMQ expects replies to occur in the order they were asked. > > > On 8 February 2013 19:47, Ruben Tan <[email protected]> wrote: >> >> REQ/REP should be a lockstep: REQ -> REP -> REQ -> REP. The binding's >> exported API should reflect this. > > I consider these two the same issue, and wonder if it's a problem at all? > > It's been a while since I touched ZMQ, but I think it doesn't ever give you > a second request, as long as you have not yet replied to one in progress? In > other words, ZMQ itself enforces lock-step behavior for REQ/REP sockets. > > Trying to reflect this behavior in the API explicitly seems like a bad idea > to me. It'll only complicate and break consistency with the C API. Consider > that ZMQ itself doesn't do this either; you can do async polling on several > REQ sockets in C too. > > I'm all for an update towards streams2, but that's something that probably > can and should be done in the existing bindings as well. If you're in it to > compete or build a completely sync API, then by all means continue. > > -- > Stéphan Kochen > Two Screen, Angry Bytes > > -- > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > > --- > You received this message because you are subscribed to the Google Groups > "nodejs" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
