Monday January 10, 2011

[Time] NameMessage
[01:17] rbraley is there a good way to write to a file asynchronously in zeromq?
[08:57] mikko rbraley: can you elaborate a bit?
[12:54] CIA-21 zeromq2: 03Martin Sustrik 07master * rbd0ba6e 10/ (6 files in 2 dirs):
[12:54] CIA-21 zeromq2: Size of inproc hwm and swap is sum of peers' hwms and swaps
[12:54] CIA-21 zeromq2: The meat of the patch was contributed by Douglas Creager.
[12:54] CIA-21 zeromq2: Martin Sustrik implemented storing peer options in inproc
[12:54] CIA-21 zeromq2: endpoint repository.
[12:54] CIA-21 zeromq2: Signed-off-by: Martin Sustrik <> -
[14:34] zchrish Is there a way to control which IP addresses subscribe to a publisher?
[14:50] sustrik firewall?
[15:11] zchrish OK; I assumed that was the design of the package. Thank you.
[17:25] zchrish Is there a way to determine which IP addresses are subscribed to a publisher?
[17:28] cremes zchrish: not from within the framework
[17:29] zchrish ok; thank you.
[17:48] s0undt3ch hello ppl
[17:48] s0undt3ch using pyzmq
[17:48] s0undt3ch if we want to filter PUB/SUB messages, we need to send them multipart?
[17:50] Vince hey
[17:53] Vince I've making a wrapper and zmq_bind crashes. I am certain I am sending the right information at the API zmq_bind%(pSoc%,psAddr$):"zmq_bind" and RetVal = zmq_bind(pSoc, "tcp://*:5555")
[17:53] sustrik s0undt3ch: no
[17:53] s0undt3ch sustrik: plain send right?
[17:53] sustrik yes
[17:54] sustrik Vince__: what's the crash?
[17:54] s0undt3ch send_pyobj won't allow this :\
[17:54] sustrik how come?
[17:55] Vince Unfortunately I don't know because this is a user library for Blitz Basic and the debugger crashes with no output.
[17:55] sustrik hard to help then
[17:56] sustrik but i haven't seen any reports about zmq_bind crashing yet
[17:56] sustrik so maybe you should look at the layers above first
[17:56] s0undt3ch sustrik: send_pyobj pickles and unpicles the object we pass, filtering is done similar to msg.startswith() which won't work on a pickled string
[17:57] sustrik i see
[17:57] sustrik then maybe make a pyzmq patch
[17:57] sustrik to allow simple pub/sub messages
[17:57] Vince Is it possible to make zeromq to a debug dump as API access occurs? Maybe to a text file or something?
[17:58] s0undt3ch sustrik: simple pub/sub messages, text messages, it supports them, I just wanted the pickling/unpickling to be automated ;)
[17:58] sustrik Vince__: you can create a core dump and inspect it in debugger afterwards
[17:58] s0undt3ch If I pickle/unpickle myself, I can do, 'filter <pickled_string>'
[17:58] s0undt3ch but then I have to be the one pickling and unpickling
[18:00] sustrik i see
[18:04] s0undt3ch anyway, since the filtering is done on the client side, I might skip it or work arround that issue
[18:22] guido_g why not put the topic (plus '\0') before the pickled data and on receive split on the first '\0'?
[18:37] s0undt3ch guido_g: that's an idea, but it needs to be done on the python bindings
[18:37] guido_g why?
[18:38] s0undt3ch guido_g: because using recv_pyobjc does the unplickling for us, so, \0 spliting should be done before unpickling
[18:38] s0undt3ch ecv_pyobj
[18:38] s0undt3ch errrr
[18:38] s0undt3ch *recv_pyobj
[18:39] guido_g recv_pyobj is a general method, not only for sub sockets
[18:40] guido_g just derive a class and implement your desired behaviour
[18:40] guido_g much much easier, for you and the pyzmq devs
[18:41] s0undt3ch that can be done to, sure, but then I'd have to also subclass Context in order for it to return my socket implementation
[18:41] guido_g just start to use a factory
[18:41] s0undt3ch guido_g: so right now, I might just use another socket for the filtering :)
[19:08] s0undt3ch guido_g:
[19:09] guido_g this is for sub sockets only?
[19:10] s0undt3ch guido_g: when you mean sub, you mean those we get from context.socket?
[19:10] s0undt3ch well, anyway dunno, all of those that make use of socket.pyx
[19:10] guido_g no
[19:10] guido_g i mean sockets of type zmq.SUB
[19:11] s0undt3ch ah
[19:11] s0undt3ch didn't though of that
[19:11] s0undt3ch :)
[19:11] guido_g or zmq.PUB
[19:11] guido_g so you allow a topic for all sockets
[19:11] guido_g which is silly
[19:11] s0undt3ch yes
[19:13] guido_g as I said, implement a socket factory where you register your _special_ sockets
[19:14] guido_g so you don't need to patch a perfectly nice working module and would gain a higher degree of freedom
[19:17] s0undt3ch yeah
[22:16] vince Finally managed to get an error out of Bind failing on my wrapper. First-chance exception at 0x762cb727 in test.exe: Microsoft C++ exception: zmq::error_t at memory location 0x0019f8f0..
[22:30] mikko vince____: is that an unhandled exception?