[zeromq-dev] [zmqpp] receiving can only be done to empty messages?

Ben Gray ben at benjamg.com
Tue Jan 7 17:35:38 CET 2014


On 7 January 2014 16:24, Lindley French <lindleyf at gmail.com> wrote:

> In zmqpp, the socket_t::receive() method throws an exception if you pass
> it a non-empty message_t. This seems to be contradictory to the philosophy
> of zmq_recv(), which states that the message passed to it will be
> deallocated cleanly if necessary.
>
> Now, I know zmqpp defines a "message" as all parts of a multipart message,
> while libzmq defines it as just one part. So this isn't a direct
> contradiction of the API semantics. But it seems like this could be fixed
> without much effort.
>
>
>
That was originally done to avoid people mistakenly overwriting a message
they didn't mean to. Although in retrospect was probably a bad choice to
make.

Your right in that it would be easy to alter and make it act more like the
single part zmq_recv() function. Technically this would be a breaking
change although I can't imagine anyone relied upon the prior functionality.

I'm happy to change how this works if the consensus is that it makes more
sense this way.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140107/a17dfa08/attachment.htm>


More information about the zeromq-dev mailing list