diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2011-06-20 11:33:54 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2011-06-20 11:33:54 +0200 |
commit | ab99975ad44ed0fe9ab651f31cc47d493e7fb77e (patch) | |
tree | ec7d05592886bf48cb4ed60d10aa8f5eaf02dacd /src/xsub.cpp | |
parent | ada5d424721c0c0139b8011a5e9de348d061ba2f (diff) |
LABEL flag added to the wire format
So far there was no distinction between message parts used by 0MQ
and message parts used by user. Now, the message parts used by 0MQ
are marked as 'LABEL'.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/xsub.cpp')
-rw-r--r-- | src/xsub.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/xsub.cpp b/src/xsub.cpp index f4160c0..bfe12a3 100644 --- a/src/xsub.cpp +++ b/src/xsub.cpp @@ -116,7 +116,7 @@ int zmq::xsub_t::xrecv (msg_t *msg_, int flags_) int rc = msg_->move (message); errno_assert (rc == 0); has_message = false; - more = msg_->flags () & msg_t::more; + more = msg_->flags () & (msg_t::more | msg_t::label); return 0; } @@ -136,13 +136,13 @@ int zmq::xsub_t::xrecv (msg_t *msg_, int flags_) // Check whether the message matches at least one subscription. // Non-initial parts of the message are passed if (more || !options.filter || match (msg_)) { - more = msg_->flags () & msg_t::more; + more = msg_->flags () & (msg_t::more | msg_t::label); return 0; } // Message doesn't match. Pop any remaining parts of the message // from the pipe. - while (msg_->flags () & msg_t::more) { + while (msg_->flags () & (msg_t::more | msg_t::label)) { rc = fq.recv (msg_, ZMQ_DONTWAIT); zmq_assert (rc == 0); } @@ -182,7 +182,7 @@ bool zmq::xsub_t::xhas_in () // Message doesn't match. Pop any remaining parts of the message // from the pipe. - while (message.flags () & msg_t::more) { + while (message.flags () & (msg_t::more | msg_t::label)) { rc = fq.recv (&message, ZMQ_DONTWAIT); zmq_assert (rc == 0); } |