You can use poll with ZeroMQ to efficiently use many channels in a single process at once; however, you don’t get to block on particular kinds of message, meaning you have to buffer messages you don’t want to deal with yet, or keep complex state around.
Well, actually, you can have as many ZMQ_SUB sockets as you want connected to the same ZMQ_PUB endpoints, and just set each to subscribe to separate topics.
ZeroMQ is not a message queue. It's sockets++.
If you want a web interface where non-programmers can log in and interfere with your message passing, you don't want ZeroMQ. If you are writing something like X11 or a web server, though, it might be exactly what you need.
> If you want a web interface where non-programmers can log in and interfere with your message passing
wha?
That's not what he was talking about at all, he was talking about selective message reception: when an erlang processes fetches messages from its mailbox, it can do so using a pattern and only messages matching this pattern will be retrieved. And if there is no message matching the pattern, it will just block (can be made to go through directly or with a timeout if needed) until one such message lands in the mailbox.
Well, actually, you can have as many ZMQ_SUB sockets as you want connected to the same ZMQ_PUB endpoints, and just set each to subscribe to separate topics.
ZeroMQ is not a message queue. It's sockets++.
If you want a web interface where non-programmers can log in and interfere with your message passing, you don't want ZeroMQ. If you are writing something like X11 or a web server, though, it might be exactly what you need.