[zeromq-dev] Alignment of message.raw_data()

Michi Henning michi at triodia.com
Fri Sep 6 07:12:10 CEST 2013


Oops, forgot to actually mention that, yes, there *is a receive between the declaration and use :-)

zmqpp::message msg_in;
s.receive(msg_in);
auto data = msg_in.raw_data();
assert((long int)data % 8 ==0);

Michi.

On 06/09/2013, at 14:55 , Michi Henning <michi at triodia.com> wrote:

> Hi,
> 
> I'm using ZeroMQ with Cap'n Proto, which requires marshaling data to be 
> aligned on a 64-bit boundary. However, when I receive a message, like 
> this, the returned pointer is only byte-aligned:
> 
> zmqpp::message msg_in;
> auto data = msg_in.raw_data();
> assert((long int)data % 8 ==0);
> 
> The assertion fails for me. Checking the pointer value indicates that it 
> points one byte past the end of an 8-byte boundary.
> 
> Is there any way to ask ZeroMQ to use 64-bit aligned buffers?
> 
> Thanks,
> 
> Michi.
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev




More information about the zeromq-dev mailing list