Sunday August 22, 2010

[Time] NameMessage
[10:49] pieter_hintjens Have defined a spec for device configuration:
[13:38] pieterh if 0MQ added a silent null to the end of zmq_msg_t data, it'd be automatically string safe in C
[17:05] theonewolf hey i have a question about the REQ-REP hello world example, i notice that if i kill the server prematurely, the client blocks indefinitely on zmq_recv, even if i later bring the server back up, is that expected?
[19:26] emacsen Hi. I"m going to ask a very n00b question here, and I apologize if this is dumb, but in the 0mq model, is there a 1:1 correlation between a socket and a queue?
[19:27] emacsen queue|channel|message bus
[19:33] sustrik no, each socket has a queue/buffer per peer
[19:33] emacsen sustrik, maybe I'm not being clear
[19:34] emacsen lemme look up the AMQP terminology so I'm less unclear
[19:35] emacsen okay, the word I want is stores? or exchanges... the thing to which a client subscribes
[19:35] emacsen I think they call that an exchange
[19:36] sustrik ah, you mean a central component, that all clients connect to?
[19:36] emacsen so, let me explain what I mean rather than use the word
[19:36] sustrik ok
[19:36] emacsen if I send a message, and want it to fan out to multiple clients
[19:37] emacsen the way I address it in terms of AMQP exchange determines which queues it goes into
[19:37] emacsen ...I think that's right... it's been a while since I looked at AMQP
[19:37] sustrik np, use your own words
[19:38] emacsen but essentially what I want is lots of "addresses" that a client can subscribe to
[19:38] emacsen and the messages get to the right clients
[19:38] emacsen but not to ones that the messages don't need to go to. If that makes any sense?
[19:38] emacsen that is the fanning is selective
[19:39] sustrik yes, it's called subscriptions
[19:39] sustrik you are listining to a feed, however, you want only messages that match certain criteria
[19:39] emacsen right
[19:40] sustrik ok
[19:40] sustrik what's the question?
[19:40] emacsen Does 0mq support that, or is that at the application layer?
[19:40] sustrik it does
[19:40] sustrik use PUB socket on the publisher side
[19:40] sustrik SUB socket on the subscriber side
[19:41] emacsen okay... I'm not sure I see this in the docs, though I see the word subscriptions :)
[19:41] sustrik use zmq_setsockopt(ZMQ_SUBSCRIBE, "...");
[19:41] sustrik to choose which messages to receive
[19:41] sustrik check the guide
[19:41] sustrik let me see...
[19:42] sustrik
[19:42] emacsen ah thanks
[19:44] emacsen okay, but (and this isn't a problem necessarily) the subscription seems fairly static
[19:44] emacsen that is the AMQP one is both very powerful and complete, yet somehwhat complex
[19:44] sustrik what do you mean by "static"/
[19:44] sustrik ?
[19:44] emacsen the filter is a string
[19:45] emacsen or looks/acts like a string :)
[19:45] sustrik can be binary
[19:45] emacsen so in the zipcode example, I couldn't ask for more than one zipcode
[19:45] emacsen I couldn't send to more than one, and I couldn't recieve to more than one
[19:46] emacsen (that's not a terrible thing on its own, I just want to be sure I understand)
[19:46] sustrik you can subscribe for as much topics as you wish
[19:46] emacsen is there a practical limit?
[19:46] sustrik no
[19:46] emacsen 16k subscriptions no problem for one server?
[19:46] sustrik no
[19:46] emacsen works for me :)
[19:46] sustrik :)
[19:47] emacsen I have a potential use for this. It'll depend on other folks
[19:47] sustrik great
[19:48] emacsen thanks for your help
[19:49] sustrik you are welcome
[20:23] benoitc hi all
[20:24] benoitc i get this comilation error on osx 10.6 : any idea what it could be ?
[20:26] sustrik benoitc: you are presumably using wrong repo
[20:26] sustrik erlang binding works only with experimental branch sustrik/zeromq2
[20:26] benoitc hum
[20:27] benoitc at which point it is experimental ?
[20:28] sustrik sockets can be migrated between OS threads
[20:32] benoitc using the branch I get "./configure: line 18331: syntax error near unexpected token `GLIB,'
[20:32] benoitc "
[20:33] sustrik are you using ./configure --with-pgm?
[20:33] benoitc yes
[20:34] sustrik do you have glib installed?
[20:34] benoitc yup
[20:34] sustrik then it's some kin of autotools/OSX issue
[20:34] sustrik sorry, i have no OSX here
[20:34] sustrik cannot help
[20:34] sustrik try asking at the mailing list
[20:34] benoitc mok thanks
[20:37] benoitc will do thx anyway
[21:10] benoitc sustrik: pgmm is required for erlang stuff ?