[zeromq-dev] patches for zmq_queue to support xreq xrep sockets
Jon Dyte
jon at totient.co.uk
Fri Mar 12 08:36:22 CET 2010
The patches are submitted under the MIT License.
Jon Dyte wrote:
> Hi
> Attached are a couple of patches to make the zmq_queue device usable.
> I also had to fix the include paths in the forwarder and streamer
> since the repo re-org.
>
> Note that at the moment I've only tested one-hop zmq_queue and
> currently in the
> rep process which is the end of the chain, you have to do some manual
> code to get
> the response to route back to the correct client.
>
>
> This is the setup
>
> REQ* <--> ZMQ_QUEUE <--> REP*
> * can have multiple of these.
>
> the config for the zmq_queue looks something like:-
> <queue>
> <in>
> <bind addr = "tcp://lo:43210"/>
> </in>
> <out>
> <bind addr = "tcp://lo:43211"/>
> </out>
> </queue>
>
>
>
> Note about REP sockets:
> This snippet just simply sends back the response with a copy,
> the inbound message was one character.
> However currently the first octet of the message is a length indicator
> detailing
> the length of the addressing info. This needs to be copied into the
> response message.
> This is only a temporary measure. The new extensions field of the wire
> format will make
> this requirement go away.
>
>
> zmq::message_t request;
> rep.recv(&request);
>
> unsigned char l = *((char*)request.data());
> zmq::message_t response(l+2); // l+2 = the octet, the
> address, and my 1 byte test message
>
> ::memcpy(response.data(), request.data(), l+2);
> rep.send(response);
>
>
>
> Jon
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
More information about the zeromq-dev
mailing list