summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/cluster')
-rw-r--r--cpp/src/qpid/cluster/Connection.cpp3
-rw-r--r--cpp/src/qpid/cluster/Connection.h1
-rw-r--r--cpp/src/qpid/cluster/UpdateClient.cpp1
3 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/qpid/cluster/Connection.cpp b/cpp/src/qpid/cluster/Connection.cpp
index f2904c6734..be6281b4e3 100644
--- a/cpp/src/qpid/cluster/Connection.cpp
+++ b/cpp/src/qpid/cluster/Connection.cpp
@@ -325,6 +325,7 @@ void Connection::deliveryRecord(const string& qname,
bool completed,
bool ended,
bool windowing,
+ bool enqueued,
uint32_t credit)
{
broker::QueuedMessage m;
@@ -333,7 +334,7 @@ void Connection::deliveryRecord(const string& qname,
if (acquired) { // Message is on the update queue
m = getUpdateMessage();
m.queue = queue.get();
- queue->enqueued(m); //inform queue of the message
+ if (enqueued) queue->enqueued(m); //inform queue of the message
} else { // Message at original position in original queue
m = queue->find(position);
}
diff --git a/cpp/src/qpid/cluster/Connection.h b/cpp/src/qpid/cluster/Connection.h
index a0be2203e4..8e3b0ad337 100644
--- a/cpp/src/qpid/cluster/Connection.h
+++ b/cpp/src/qpid/cluster/Connection.h
@@ -129,6 +129,7 @@ class Connection :
bool completed,
bool ended,
bool windowing,
+ bool enqueued,
uint32_t credit);
void queuePosition(const std::string&, const framing::SequenceNumber&);
diff --git a/cpp/src/qpid/cluster/UpdateClient.cpp b/cpp/src/qpid/cluster/UpdateClient.cpp
index 7fdbe73926..332e74c512 100644
--- a/cpp/src/qpid/cluster/UpdateClient.cpp
+++ b/cpp/src/qpid/cluster/UpdateClient.cpp
@@ -372,6 +372,7 @@ void UpdateClient::updateUnacked(const broker::DeliveryRecord& dr) {
dr.isComplete(),
dr.isEnded(),
dr.isWindowing(),
+ dr.getQueue()->isEnqueued(dr.getMessage()),
dr.getCredit()
);
}