Friday June 10, 2011

[Time] NameMessage
[04:05] fUD Hi guys
[04:06] fUD Anyone got a document on qpid vs zeromq?
[05:59] fUD \q
[07:18] bharatm I am using the clrzmq2 library, and creating a C# app which sends some data using REQ,REP as soon as it is connected to the internet. The network can be disabled / enabled back on and the app needs to continously keep sending the data as soon as it detects an internet connection is available. How can i achieve low latency using zeromq when sending the data from client to a server ? Do i need to make any specific settings in the conte
[08:46] eintr morning(ish), folks
[09:06] mikko morning
[09:07] pieterh hi
[09:07] yukonbob morning #zeromq :)
[09:08] pieterh hi yukonbob
[09:13] yukonbob should "localhost" be a working standin for "" in all cases of supplying an address?
[09:14] yukonbob I haven't completely dug in, but I've run into cases where it appears to not work.
[09:15] mikko no
[09:15] mikko you can't really bind to a hostname
[09:15] yukonbob ah... ok
[09:15] mikko (with zeromq)
[09:15] yukonbob I've got cases where it appears to work...
[09:15] yukonbob maybe diff between bind/connect
[09:15] mikko connect works
[09:15] yukonbob heh
[09:15] mikko but bind doesn't (iirc)
[09:16] yukonbob I'm still coming up to speed w/ 0mq's personality..
[09:18] yukonbob is reason why won't accept hostname in bind() case?
[09:20] yukonbob hrmm... just triggered assertion
[09:20] mikko you will trigger assertion if you try to bind with hostname
[09:20] mikko i think there is a reason for the behaviour, just can't remember what
[09:20] yukonbob this is diff't assertion I just got...
[09:22] mikko which one are you seeing?
[09:22] yukonbob Assertion failed: rc == 0 (zmq_connecter.cpp:48)
[09:23] yukonbob ... when running a sub w/o pub mate.
[09:24] yukonbob am dealing w/ C bindings...
[09:24] mikko looks like incorrect uri
[09:24] mikko what is the uri you are using?
[09:24] yukonbob tcp://iwn0:9999
[09:24] mikko does iwn0 resolve?
[09:24] yukonbob where iwn0 == wireless iface
[09:25] mikko hmm
[09:25] mikko what OS?
[09:25] yukonbob mikko: netbsd
[09:26] yukonbob , seems to be chugging along fine...
[09:27] yukonbob hrm.... 1s.
[09:28] mikko i dont think you can connect to an interface name
[09:28] mikko you can bind to an interface
[09:28] yukonbob :)
[09:34] yukonbob mikko: your notes re: interfaces, hostnames bind/connect seem to be correct. I'll need to pay closer attention to things that I think should have same semantics but don't....
[12:35] Seta00 are all the shortcuts listed somewhere?
[12:37] Seta00 I've been playing with Groovy lately, and after reading about GPars Actors ( I decided to do something similar with 0MQ:
[12:37] Seta00 :)
[13:36] Seta00 heh, that little experiment granted me a 30m talk about 0MQ
[13:36] Seta00 great success
[13:37] Seta00 anyone got any tips on how to show 0MQ to people?
[13:37] mikko Seta00: peter wrote a doc
[13:37] mikko sec
[13:37] mikko
[13:39] Seta00 thanks!
[13:40] mpales Seta00: you actor model works only if an actor is not accessed by multiple threads
[13:41] Seta00 mpales, I know, it's just a proof of concept
[13:42] Seta00 it's the second thing I write in Groovy (the first being Hello World)
[13:42] Seta00 wrote*
[13:42] Seta00 xristos, nice IPv6 :)
[13:42] xristos =)
[13:42] xristos is it possible for push/pull to lose messages?
[13:43] xristos assuming no node crashes
[13:43] xristos i do outgoing.send() on a push socket
[13:43] xristos then outgoing.close()
[13:44] xristos and ctx.term()
[13:44] xristos the docs say term will block until the message is sent
[13:44] xristos but the receiver never gets it
[13:54] xristos nevermind i'm using 2.0 and this is not supported
[14:48] mile is it possible to get all connections to the pull socket (or any other socket) programmaticaly, on the binding side?
[14:48] mikko nope
[14:51] mile hm, how do you handle dead clients which still have open connections?
[14:51] mile in a pull/push pattern
[14:52] mikko mile: i think there is an open ticket related to this
[14:52] mikko if i understood you correctly
[14:53] mile oh, ok
[14:53] mile let me clarify: I have a push socket
[14:53] mikko
[14:53] mikko you mean something like this?
[14:53] mile and 2 clients connect, messages get each 2nd message
[14:53] mile but one stops responding
[14:54] mile it's dead, but still holds the connection
[14:54] mikko in this scenario you would lose the messages
[14:54] mile and I can't know which clients are connected
[14:54] mile or how many
[14:54] mikko at the moment for something like this you would need to use XRE(Q|P)
[14:55] mikko ROUTER/DEALER nowadays i think
[14:55] mile so I send an ACK on the application level?
[14:55] mikko PUSH/PULL by nature is fire-and-forget
[14:55] mikko yes
[14:55] mile ok, thx, I'll look into the router for it
[15:00] mile is it possible that a client process dies and still has an open socket?
[15:01] mikko yes
[15:11] mile bummer :)
[15:11] ianbarber it would have to be a slightly odd die though
[15:11] ianbarber to leave the io thread up
[15:11] mikko it might take a while before server notices that the client is dead
[15:12] mikko and in the mean time it might push messages to it
[15:12] mikko which are then later discarded
[15:12] ianbarber yeah, true
[15:12] ianbarber also messages may be in the connection queue
[16:02] Steve-o so I'll have a look at IOCP on Windows for 0mq, TCP performance is pretty weak
[16:03] mikko hey stevo
[16:03] Steve-o Hi Mikko, long time no chat
[16:03] Steve-o not finished the CMake port?
[16:04] mikko been travelling lately
[16:04] mikko travelling salesman
[16:04] mikko well, holidayman
[16:04] mikko i spoke to this guy that i used to work with
[16:04] mikko he has submitted several cmake generated rpms to fedora core
[16:05] Steve-o easiest to start with existing projects
[16:11] Steve-o need to work with a new sockaddr structure on windows it looks
[16:12] mikko did you see osx lion compile errors?
[16:12] mikko i think you might've responded to that
[16:12] Steve-o use sockaddr as sa_data is a char[14] then append that to \\\\.\\pipe\\Omq\\
[16:12] Steve-o lion? can't recall, although I was wondering what I should upgrade to test
[17:16] Steve-o connector ported, now the listener ...
[17:59] mikko Steve-o: awesome!
[18:49] Steve-o I love the irony of IOCP inside 0mq, to not waste threads you need a messaging system beneath 0mq to manage completion events
[18:50] Steve-o otherwise it is one additional thread per socket :/
[19:36] Steve-o is there such a pattern as reactive proactor?
[19:37] Steve-o the way forward with zmq_engine_t is to support proactors but would be nice to keep in reactor support at the same time
[19:38] Steve-o interesting to see the performance overhead from moving the reactor signal from rising edge to trailing edge, i.e. completion
[21:35] CIA-76 jzmq: 03Gonzalo Diethelm 07master * r43cf0c9 10/ builds/msvc/jzmq/jzmq.vcproj : Added classes EmbeddedLibraryTools and App to MSVC project. -