Optimized zmq::dish_t::xhas_in

This commit is contained in:
Simon Giesecke 2018-08-07 13:59:07 +02:00
parent aa1f5739b7
commit 3cca90ea44

View File

@ -207,9 +207,9 @@ bool zmq::dish_t::xhas_in ()
if (_has_message)
return true;
while (true) {
do {
// Get a message using fair queueing algorithm.
int rc = _fq.recv (&_message);
const int rc = _fq.recv (&_message);
// If there's no message available, return immediately.
// The same when error occurs.
@ -218,15 +218,13 @@ bool zmq::dish_t::xhas_in ()
return false;
}
// Filtering non matching messages
subscriptions_t::iterator it =
_subscriptions.find (std::string (_message.group ()));
if (it != _subscriptions.end ()) {
// Filter out non matching messages
} while (0 == _subscriptions.count (std::string (_message.group ())));
// Matching message found
_has_message = true;
return true;
}
}
}
const zmq::blob_t &zmq::dish_t::get_credential () const
{