So I made a pull request which add polling on multiple sockets: https://github.com/zeromq/libzmq/pull/1525
Polling on thread safe sockets is a little different then regular socket, take a look at the gist: https://gist.github.com/somdoron/902169bf115d3534bd24 Next is making a pull request to CZMQ to use the new ability. On Sun, Aug 16, 2015 at 12:53 AM, Brian Knox <[email protected]> wrote: > Makes sense to me! The API is close enough to the other poller > implementations that there's no surprises. > > Cheers! > Brian > > On Sat, Aug 15, 2015 at 5:21 PM, Doron Somech <[email protected]> wrote: > >> Polling on multiple thread safe socket is a little bit different, because >> thread safe doesn't have a FD, so we need to create one for all thread safe >> sockets for each thread before calling the zmq_poll. >> >> So I want to make it very close to the current API, this what I have so >> far: >> >> https://gist.github.com/somdoron/902169bf115d3534bd24 >> >> zmq_poller_t is actually a FD, when added to the thread safe socket the >> socket will signal it once a command is ready, multiple sockets can use the >> same poller. When signalled the zmq_poll will check all sockets for events. >> >> What do you think? >> >> >> >> On Sat, Aug 15, 2015 at 5:54 PM, Brian Knox <[email protected]> >> wrote: >> >>> Doron - as a heads up, being able to poll multiple sockets from zpoller >>> would be of great interest to me (I use zpoller in goczmq quite a bit). >>> >>> Cheers, >>> Brian >>> >>> On Sat, Aug 15, 2015 at 3:48 AM, Doron Somech <[email protected]> >>> wrote: >>> >>>> Andrew are you using CZMQ? which class do you use for multiple polling, >>>> zloop or zpoller? >>>> >>>> On Fri, Aug 14, 2015 at 10:36 PM, Andrew Simpson <[email protected] >>>> > wrote: >>>> >>>>> this sounds really excellent! I am building an application that would >>>>> greatly benefit from this over a standard Router/Dealer setup. The only >>>>> thing that will hold me back right now is the lack of polling on multiple >>>>> client/server sockets. I definitely need that. >>>>> >>>>> Good stuff! >>>>> >>>>> >>>>> >>>>> On Friday, August 14, 2015 9:09 AM, Doron Somech <[email protected]> >>>>> wrote: >>>>> >>>>> >>>>> >>>>> Hi All, >>>>> >>>>> I added server and client sockets support to CZMQ, you can take a look >>>>> at the change at the following pull request: >>>>> >>>>> https://github.com/zeromq/czmq/pull/1059 >>>>> >>>>> Server socket is like router socket except you don't have an identity >>>>> frame, each message also include routing id which is an int (vs byte >>>>> array). So each message coming from a server socket include a routing id >>>>> which can be retrieve by calling zframe_routing_id. When sending a message >>>>> you must set the routing id by calling zframe_set_routing_id. You can use >>>>> zframe_send_reply with both the destination frame and the source frame >>>>> (which include the routing id), the method copy the routing id from the >>>>> source frame to the destination frame and then send the message. >>>>> >>>>> Client socket is same as dealer socket. Client and Server can only >>>>> talk to each other. >>>>> >>>>> Following is a small example on how to use the new client and server >>>>> sockets: >>>>> https://gist.github.com/somdoron/542b74922f652d229566 >>>>> >>>>> Client and server socket are thread safe (currently only support >>>>> single frame messages but that might change, I think) so if your protocol >>>>> is single frame you can use the server and client sockets from multiple >>>>> threads. >>>>> >>>>> Polling on multiple client or server sockets is not supported yet. >>>>> >>>>> In the coming week I plan to also add zproto support and complete the >>>>> polling on multiple sockets. >>>>> >>>>> Doron >>>>> >>>>> >>>>> _______________________________________________ >>>>> zeromq-dev mailing list >>>>> [email protected] >>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> zeromq-dev mailing list >>>>> [email protected] >>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> zeromq-dev mailing list >>>> [email protected] >>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>>> >>>> >>> >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >>> >> >> _______________________________________________ >> zeromq-dev mailing list >> [email protected] >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> >> > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
