summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-05-08 11:55:37 +0000
committerGordon Sim <gsim@apache.org>2013-05-08 11:55:37 +0000
commita524ce51e9ab4e290f263074fd08ea0965b201c7 (patch)
tree7a7aa408f7c898083f33948e1e980df2218f4964 /qpid/cpp/src
parent82b1e8bc12e898883b3d95c8b5cde15e705125c1 (diff)
downloadqpid-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.cpp4
-rw-r--r--qpid/cpp/src/qpid/broker/Message.h4
-rw-r--r--qpid/cpp/src/qpid/messaging/amqp/EncodedMessage.cpp2
-rw-r--r--qpid/cpp/src/tests/qpid-receive.cpp2
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();