summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/broker/DeliveryRecord.cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/DeliveryRecord.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp b/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp
index 635123d242..d0a450ce1e 100644
--- a/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp
+++ b/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp
@@ -111,13 +111,16 @@ void DeliveryRecord::complete() {
}
/** Accept msg, and optionally notify caller when dequeue completes */
-bool DeliveryRecord::accept(TransactionContext* ctxt, Queue::DequeueDoneCallbackFactory *f) {
+boost::intrusive_ptr<Queue::DequeueCompletion>
+DeliveryRecord::accept(TransactionContext* ctxt) {
+ static const boost::intrusive_ptr<Queue::DequeueCompletion> empty;
if (acquired && !ended) {
- queue->dequeue(ctxt, msg, f);
- setEnded();
QPID_LOG(debug, "Accepted " << id);
+ boost::intrusive_ptr<Queue::DequeueCompletion> dq(queue->dequeue(ctxt, msg));
+ setEnded();
+ return dq;
}
- return isRedundant();
+ return empty;
}
void DeliveryRecord::dequeue(TransactionContext* ctxt) const{