[zeromq-dev] CZMQ and Server and Client Sockets
Brian Knox
bknox at digitalocean.com
Sat Aug 15 23:53:50 CEST 2015
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 <somdoron at 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 <bknox at 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 <somdoron at 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 <simpsonar77 at 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 <somdoron at 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 at lists.zeromq.org
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> zeromq-dev mailing list
>>>> zeromq-dev at lists.zeromq.org
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>
>>>>
>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>>>
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150815/ca6fc62e/attachment.htm>
More information about the zeromq-dev
mailing list