summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/BrokerAdapter.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-08-10 14:51:08 +0000
committerGordon Sim <gsim@apache.org>2007-08-10 14:51:08 +0000
commit6577b14632d81c15482cb0793e01166cdb28eaff (patch)
tree8b8dc5e4db5690e9c024b862a1d725764687d6fc /cpp/src/qpid/broker/BrokerAdapter.cpp
parentc00a668cbf27d90edf18cc935cc982cab6581cae (diff)
downloadqpid-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.cpp8
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*/){}