The structure of zmq_pollitem_t is part of the public api and abi. All existing programs would require a recompile.
Perhaps others would like to weigh in on this? On 17 Aug 2015 14:17, "Doron Somech" <[email protected]> wrote: > A little nasty but will work, I already have the zmq_poller_get_fd method > (right now it is not public). > I will make the change. > > What disadvantage do you see to the change of the structure? > > On Mon, Aug 17, 2015 at 6:11 AM, KIU Shueng Chuan <[email protected]> > wrote: > >> Do you think it would be worthwhile to preserve ABI compatibility of the >> zmq_pollitem_t structure? >> >> Perhaps for threadsafe sockets, the user could extract the fd of the >> poller object and populate the pollitem fd field himself? >> >> e.g. >> socket!=NULL && fd!=0 ==> threadsafe zmq socket >> socket!=NULL && fd==0 ==> regular zmq socket >> socket==NULL ==> regular TCP socket (or any fd on unix) >> >> >> On Sun, Aug 16, 2015 at 11:06 PM, Doron Somech <[email protected]> >> wrote: >> >>> so, I made a pull request to fix the issue, moving field to the end of >>> struct: >>> >>> https://github.com/zeromq/libzmq/pull/1526 >>> >>> On Sun, Aug 16, 2015 at 5:54 PM, Doron Somech <[email protected]> >>> wrote: >>> >>>> I will try to fix that... >>>> >>>> On Sun, Aug 16, 2015 at 5:43 PM, KIU Shueng Chuan <[email protected]> >>>> wrote: >>>> >>>>> Hello, the new definition for zmq_pollitem_t would break code like the >>>>> following: >>>>> >>>>> zmq_pollitem_t pollitems [] = { >>>>> { zsock, 0, ZMQ_POLLIN, 0 }, >>>>> { NULL, fd, ZMQ_POLLIN, 0 } >>>>> }; >>>>> On 16 Aug 2015 19:10, "Doron Somech" <[email protected]> wrote: >>>>> >>>>>> 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 >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> 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
