diff options
author | Gordon Sim <gsim@apache.org> | 2007-08-10 14:51:08 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-08-10 14:51:08 +0000 |
commit | 6577b14632d81c15482cb0793e01166cdb28eaff (patch) | |
tree | 8b8dc5e4db5690e9c024b862a1d725764687d6fc /cpp/src/qpid/broker/BrokerAdapter.cpp | |
parent | c00a668cbf27d90edf18cc935cc982cab6581cae (diff) | |
download | qpid-python-6577b14632d81c15482cb0793e01166cdb28eaff.tar.gz |
Broker management of message acknowledgements now runs entirely off execution layer.
Flow control support.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@564611 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/BrokerAdapter.cpp')
-rw-r--r-- | cpp/src/qpid/broker/BrokerAdapter.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/BrokerAdapter.cpp b/cpp/src/qpid/broker/BrokerAdapter.cpp index 8edf448bc4..26c2b30ac6 100644 --- a/cpp/src/qpid/broker/BrokerAdapter.cpp +++ b/cpp/src/qpid/broker/BrokerAdapter.cpp @@ -325,7 +325,7 @@ void BrokerAdapter::BasicHandlerImpl::consume(uint16_t /*ticket*/, //also version specific behaviour now) if (newTag.empty()) newTag = tagGenerator.generate(); DeliveryToken::shared_ptr token(BasicMessage::createConsumeToken(newTag)); - channel.consume(token, newTag, queue, !noAck, exclusive, noLocal ? &connection : 0, &fields); + channel.consume(token, newTag, queue, noLocal, !noAck, exclusive, &fields); if(!nowait) client.consumeOk(newTag); @@ -365,7 +365,11 @@ void BrokerAdapter::BasicHandlerImpl::get(uint16_t /*ticket*/, const string& que } void BrokerAdapter::BasicHandlerImpl::ack(uint64_t deliveryTag, bool multiple){ - channel.ack(deliveryTag, multiple); + if (multiple) { + channel.ackCumulative(deliveryTag); + } else { + channel.ackRange(deliveryTag, deliveryTag); + } } void BrokerAdapter::BasicHandlerImpl::reject(uint64_t /*deliveryTag*/, bool /*requeue*/){} |