[zeromq-dev] Notes from a hackathon

Doron Somech somdoron at gmail.com
Thu Feb 5 10:34:18 CET 2015


Andreas - what you are saying is exactly like saying let's remove
multipart, use send that sends a blob and have a serialization solution
that support framing. I think that is the plan anyway.

On Thu, Feb 5, 2015 at 11:21 AM, Andreas Schultz <aschultz at tpip.net> wrote:

> Hi,
>
> ----- On 2 Feb, 2015, at 10:23, Pieter Hintjens ph at imatix.com wrote:
>
> [...]
>
> > Multipart messages are the main reason we can't make threadsafe sockets.
>
> Well, yes and no. The API the 0MQ use for multipart messages is the main
> reason that you can't make threadsafe sockets, because the API
> does not have a atomic send/recv operation for multipart messages.
>
> Having to call the send/recv operation multiple times to process
> multipart messages creates a serialization problem and also necessitates
> in socket buffering, thus creating a concurrency problem for multi
> part messages (not that it is impossible to solve, adding a per thread
> buffers shouldn't be too difficult). The socket buffering is also likely
> the reason that the performance drops (because of the additional copying).
>
> Doing multipart messages with an atomic, sendmsg like API, would be
> much simpler. The 0MQ library could convert the 0MQ socket API call
> into an real sendmsg call without having to copy the parts around.
>
> Andreas
>
> [...]
>
> > Cheers
> > Pieter
> _______________________________________________
> 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/20150205/be7a447e/attachment.htm>


More information about the zeromq-dev mailing list