I followed the zproto naming, I actually think that for the server-client context "client id" might be better...
On Mon, Aug 17, 2015 at 1:36 PM, Pieter Hintjens <p...@imatix.com> wrote: > +1 for this and for using "routing id" instead of "identity"... it's a > change I'd like to make everywhere, deprecating the old (misleading) > name. > > On Mon, Aug 17, 2015 at 11:04 AM, Doron Somech <somdo...@gmail.com> wrote: > > No problem, I also agree as I think we need minimal change. > > > > I made the change: > > > https://github.com/somdoron/libzmq/commit/5bae6911afba90de42b9fd21315f6d702e1bb2c6 > > > > I will wait with the PR until other will weigh in. > > > > Also I think the poller name is not great, I prefer another but didn't > come > > up with a good one, few alternatives: > > * signaler - it is the internal name in libzmq > > * efd - for event fd > > * polling_fd > > * poll_fd > > * pollfd > > > > What do you think? > > > > > > > > > > > > On Mon, Aug 17, 2015 at 10:29 AM, KIU Shueng Chuan <nixch...@gmail.com> > > wrote: > >> > >> 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" <somdo...@gmail.com> 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 <nixch...@gmail.com> > >>> 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 <somdo...@gmail.com> > >>>> 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 <somdo...@gmail.com> > >>>>> wrote: > >>>>>> > >>>>>> I will try to fix that... > >>>>>> > >>>>>> On Sun, Aug 16, 2015 at 5:43 PM, KIU Shueng Chuan < > nixch...@gmail.com> > >>>>>> 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" <somdo...@gmail.com> 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 > >>>>>>>> <bk...@digitalocean.com> 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 < > somdo...@gmail.com> > >>>>>>>>> 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 > >>>>>>>>>> <bk...@digitalocean.com> 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 > >>>>>>>>>>> <somdo...@gmail.com> 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 > >>>>>>>>>>>> <simpsona...@yahoo.com> 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 > >>>>>>>>>>>>> <somdo...@gmail.com> 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 > >>>>>>>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>>> zeromq-dev mailing list > >>>>>>>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> _______________________________________________ > >>>>>>>>>>>> zeromq-dev mailing list > >>>>>>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> _______________________________________________ > >>>>>>>>>>> zeromq-dev mailing list > >>>>>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> _______________________________________________ > >>>>>>>>>> zeromq-dev mailing list > >>>>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> _______________________________________________ > >>>>>>>>> zeromq-dev mailing list > >>>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> _______________________________________________ > >>>>>>>> zeromq-dev mailing list > >>>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>>> > >>>>>>> > >>>>>>> _______________________________________________ > >>>>>>> zeromq-dev mailing list > >>>>>>> zeromq-dev@lists.zeromq.org > >>>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> zeromq-dev mailing list > >>>>> zeromq-dev@lists.zeromq.org > >>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>>> > >>>> > >>>> > >>>> _______________________________________________ > >>>> zeromq-dev mailing list > >>>> zeromq-dev@lists.zeromq.org > >>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>>> > >>> > >>> > >>> _______________________________________________ > >>> zeromq-dev mailing list > >>> zeromq-dev@lists.zeromq.org > >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >>> > >> > >> _______________________________________________ > >> zeromq-dev mailing list > >> zeromq-dev@lists.zeromq.org > >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >> > > > > > > _______________________________________________ > > zeromq-dev mailing list > > zeromq-dev@lists.zeromq.org > > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > _______________________________________________ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >
_______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev