From 96ccc1c5fceb56bd7ffc2e6bef9ddab5347d722b Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Tue, 9 Mar 2010 15:10:44 +0100 Subject: 'flags' fields added to the wire format --- src/zmq_encoder.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/zmq_encoder.cpp') diff --git a/src/zmq_encoder.cpp b/src/zmq_encoder.cpp index 68626fa..95d0e5e 100644 --- a/src/zmq_encoder.cpp +++ b/src/zmq_encoder.cpp @@ -89,17 +89,22 @@ bool zmq::zmq_encoder_t::message_ready () size -= prefix_size; } + // Account for the 'flags' byte. + size++; + // For messages less than 255 bytes long, write one byte of message size. // For longer messages write 0xff escape character followed by 8-byte - // message size. + // message size. In both cases empty 'flags' field follows. if (size < 255) { tmpbuf [0] = (unsigned char) size; - next_step (tmpbuf, 1, &zmq_encoder_t::size_ready, true); + tmpbuf [1] = 0; + next_step (tmpbuf, 2, &zmq_encoder_t::size_ready, true); } else { tmpbuf [0] = 0xff; put_uint64 (tmpbuf + 1, size); - next_step (tmpbuf, 9, &zmq_encoder_t::size_ready, true); + tmpbuf [9] = 0; + next_step (tmpbuf, 10, &zmq_encoder_t::size_ready, true); } return true; } -- cgit v1.2.3