diff options
author | Gordon Sim <gsim@apache.org> | 2007-05-11 12:03:24 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2007-05-11 12:03:24 +0000 |
commit | 0c82d52e3b737d88b3fd30391ce9f1968735c4d2 (patch) | |
tree | 7aa20c0f581387cc47e5837ad5737ca48815f8f8 | |
parent | 32208c1adcb2f09b8e53355a08e2defc6d859cb9 (diff) | |
download | qpid-python-0c82d52e3b737d88b3fd30391ce9f1968735c4d2.tar.gz |
Fix for acknowledgements (since the addition of the protocol version, the 'wrong' constructor to BasicAckBody was being called resulting in random values for delivery tag and multiple)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@537171 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | cpp/lib/client/ClientChannel.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cpp/lib/client/ClientChannel.cpp b/cpp/lib/client/ClientChannel.cpp index d3c91d786e..4ec0d87eeb 100644 --- a/cpp/lib/client/ClientChannel.cpp +++ b/cpp/lib/client/ClientChannel.cpp @@ -171,7 +171,7 @@ void Channel::cancelAll(){ for(consumer_iterator i = consumers.begin(); i != consumers.end(); i = consumers.begin()){ Consumer* c = i->second; if((c->ackMode == LAZY_ACK || c->ackMode == AUTO_ACK) && c->lastDeliveryTag > 0){ - out->send(new AMQFrame(version, id, new BasicAckBody(c->lastDeliveryTag, true))); + out->send(new AMQFrame(version, id, new BasicAckBody(version, c->lastDeliveryTag, true))); } consumers.erase(i); delete c; @@ -377,7 +377,7 @@ void Channel::deliver(Consumer* consumer, Message& msg){ if(++(consumer->count) < prefetch) break; //else drop-through case AUTO_ACK: - out->send(new AMQFrame(version, id, new BasicAckBody(msg.getDeliveryTag(), multiple))); + out->send(new AMQFrame(version, id, new BasicAckBody(version, msg.getDeliveryTag(), multiple))); consumer->lastDeliveryTag = 0; } } |