Wednesday November 3, 2010

[Time] NameMessage
[00:23] sustrik Guthur: making backward incompatble changes is a guaranteed way to piss someone of
[00:23] sustrik either add new apis to the existing ones
[00:23] sustrik or create a new fork of the binding
[00:24] Guthur I was going to just place it on my fork
[00:27] Guthur I basically brought it more inline with what I feel is C# coding standard, ie. using namespace
[00:28] Guthur a small bug to iron out before I push though
[00:35] Guthur sustrik, For the identity option is it only going to be read by the app that created it?
[00:35] Guthur and there for to I only have to make sure I obey my own convention?
[00:35] Guthur therefore*
[00:51] Guthur sustrik, Would the zmq mailing list be a decent call for trying to find some current clrzmq users?
[05:20] Dylan_Hsu hello
[11:56] BooTheHamster Hi. I got freeze when call zmq_send() with a socket ZMP_PUSH witch binded on "tcp://*:18001".
[11:56] BooTheHamster zmq_send() called with flag set to zero
[11:57] pieterh BooTheHamster, does it happen each time?
[11:57] BooTheHamster It happen when I try send in first time.
[11:58] BooTheHamster Create socket, then bind it and then make send.
[11:58] pieterh What version of 0MQ are you using?
[11:58] BooTheHamster 2.1 from git
[11:59] pieterh Are you sure it's blocking in zmq_send and not in zmq_term?
[11:59] BooTheHamster Yes
[12:00] pieterh Could you post a simple test case?
[12:01] pieterh thanks
[12:01] pieterh i.e. in a pastebin or
[12:04] BooTheHamster I try
[12:17] BooTheHamster
[12:17] BooTheHamster I test on Windows, MSVC2005 build
[12:19] BooTheHamster It's freeze in int zmq::socket_base_t::send (::zmq_msg_t *msg_, int flags_)
[12:20] BooTheHamster xsend in this fucntion return -1
[12:20] BooTheHamster // Oops, we couldn't send the message. Wait for the next
[12:20] BooTheHamster // command, process it and try to send the message again.
[12:20] BooTheHamster while (rc != 0) {
[12:20] BooTheHamster if (errno != EAGAIN)
[12:20] BooTheHamster return -1;
[12:20] BooTheHamster >>>> here >>> if (unlikely (process_commands (true, false) != 0))
[12:23] BooTheHamster I forget to tell - no clients connected
[12:30] pieterh BooTheHamster, this looks like a bug to me
[12:30] pieterh could you report it to the zeromq-dev list?
[12:31] pieterh send should queue the message and return at once
[12:32] BooTheHamster My English very bad :(
[12:33] BooTheHamster But I try
[12:47] BooTheHamster Maybe I use wrong combination? Socket with ZMQ_PUSH type, bind operation and send?
[12:49] guido_g do you have a PULL socket connected?
[12:50] BooTheHamster no
[12:50] guido_g if not, send might wait until at least one connection has been made
[12:51] guido_g <- see under Pipeline pattern
[12:54] BooTheHamster I undestand. I wrong in first place :). Thanx, guido_g
[12:55] guido_g just let a client connect before sending the message
[12:55] guido_g see the guide for examples
[12:55] BooTheHamster No. I need PUB/SUB pair
[12:55] BooTheHamster If no clients connected I need drop data ...
[12:55] guido_g still, read the guide for a basic understanding of how it should be done
[12:56] guido_g pub/sub and push/pull are completely different things and not interchangable
[12:56] guido_g so be careful
[12:57] BooTheHamster I use PUSH/PULL in another part of my app, and forget that connection is established.
[12:58] BooTheHamster I have second question. The 0MQ sockets is thread safe?
[12:59] guido_g no
[13:00] guido_g please read the guide, it'll explain most of the questions you might have
[13:04] BooTheHamster guido_g: many thanx
[16:41] Guthur should there not be an xml file provided for the device tests (zmq_forwarder etc)?
[17:56] Guthur what is the rational behind including local_lat etc?
[18:08] cremes Guthur: those are examples that 1) show basic usage of the library, and 2) offer a way to benchmark the library on your system
[18:31] Guthur cremes: Ok cheers, just wondering
[18:31] Guthur I personally used the guide and associated demos as my learning guide
[19:53] mleonb How do I get gcc to link with zmq.h on os x
[19:59] xraid mleonb: i used g++ -Wall -I/usr/local/include -L/usr/local/lib main.cpp -lzmq -o main
[20:00] xraid or g++ `pkg-config --libs --cflags libzmq` -o client client.cpp
[21:13] Guthur how does a noblock recv throwing an exception when there is no resource sound like in terms of an binding?
[21:14] Guthur The user would of course most like choose to continue execution when it appropriate
[21:14] mikko php-zmq does that
[21:16] Guthur I felt it was better than trying to catch the special EAGAIN case in the recv and doing something different
[21:17] Guthur It at least exposes it to the user so they can take special action if so desired
[22:49] Guthur Could/should I mention the revise C# binding I have been working on on the C# binding page