diff options
author | Gordon Sim <gsim@apache.org> | 2013-05-08 11:55:37 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2013-05-08 11:55:37 +0000 |
commit | a524ce51e9ab4e290f263074fd08ea0965b201c7 (patch) | |
tree | 7a7aa408f7c898083f33948e1e980df2218f4964 /qpid/cpp/src | |
parent | 82b1e8bc12e898883b3d95c8b5cde15e705125c1 (diff) | |
download | qpid-python-a524ce51e9ab4e290f263074fd08ea0965b201c7.tar.gz |
QPID-4668: Correct use of delivery count (should be 0 on first delivery)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1480236 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r-- | qpid/cpp/src/qpid/broker/Message.cpp | 4 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/broker/Message.h | 4 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp | 2 | ||||
-rw-r--r-- | qpid/cpp/src/tests/qpid-receive.cpp | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/qpid/cpp/src/qpid/broker/Message.cpp b/qpid/cpp/src/qpid/broker/Message.cpp index 6903d27ae7..72dbf5ff8c 100644 --- a/qpid/cpp/src/qpid/broker/Message.cpp +++ b/qpid/cpp/src/qpid/broker/Message.cpp @@ -40,9 +40,9 @@ using std::string; namespace qpid { namespace broker { -Message::Message() : deliveryCount(0), publisher(0), expiration(FAR_FUTURE), timestamp(0), isManagementMessage(false) {} +Message::Message() : deliveryCount(-1), publisher(0), expiration(FAR_FUTURE), timestamp(0), isManagementMessage(false) {} Message::Message(boost::intrusive_ptr<Encoding> e, boost::intrusive_ptr<PersistableMessage> p) - : encoding(e), persistentContext(p), deliveryCount(0), publisher(0), expiration(FAR_FUTURE), timestamp(0), isManagementMessage(false) + : encoding(e), persistentContext(p), deliveryCount(-1), publisher(0), expiration(FAR_FUTURE), timestamp(0), isManagementMessage(false) { if (persistentContext) persistentContext->setIngressCompletion(e); } diff --git a/qpid/cpp/src/qpid/broker/Message.h b/qpid/cpp/src/qpid/broker/Message.h index 64ef5bd771..584d49d5c1 100644 --- a/qpid/cpp/src/qpid/broker/Message.h +++ b/qpid/cpp/src/qpid/broker/Message.h @@ -70,11 +70,11 @@ public: QPID_BROKER_EXTERN Message(); QPID_BROKER_EXTERN ~Message(); - bool isRedelivered() const { return deliveryCount > 1; } + bool isRedelivered() const { return deliveryCount; } void deliver() { ++deliveryCount; } void undeliver() { --deliveryCount; } int getDeliveryCount() const { return deliveryCount; } - void resetDeliveryCount() { deliveryCount = 0; } + void resetDeliveryCount() { deliveryCount = -1; } const ConnectionToken* getPublisher() const { return publisher; } void setPublisher(ConnectionToken* p) { publisher = p; } diff --git a/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp b/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp index 98de63742f..b4e0819980 100644 --- a/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp +++ b/qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp @@ -228,7 +228,7 @@ void EncodedMessage::InitialScan::onTtl(uint32_t i) { mi.setTtl(i); em.ttl = i; void EncodedMessage::InitialScan::onFirstAcquirer(bool b) { em.firstAcquirer = b; } void EncodedMessage::InitialScan::onDeliveryCount(uint32_t i) { - mi.setRedelivered(i > 1); + mi.setRedelivered(i); em.deliveryCount = i; } diff --git a/qpid/cpp/src/tests/qpid-receive.cpp b/qpid/cpp/src/tests/qpid-receive.cpp index 9cbf7c4808..d5f498acbd 100644 --- a/qpid/cpp/src/tests/qpid-receive.cpp +++ b/qpid/cpp/src/tests/qpid-receive.cpp @@ -271,7 +271,7 @@ int main(int argc, char ** argv) } else { session.commit(); } - } else { + } else if (opts.ackFrequency) { session.acknowledge(); } session.close(); |