summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-02-14 16:05:13 +0000
committerAlan Conway <aconway@apache.org>2012-02-14 16:05:13 +0000
commite805231f5186bc026129023830a11e8ef6140959 (patch)
treebbcc95e76adbe7c4ec34f9a02a77febbd37a7763
parent6fadc31e7d6818ceaeae8114e11e148b857e8357 (diff)
downloadqpid-python-e805231f5186bc026129023830a11e8ef6140959.tar.gz
QPID-3603: Independent isDelayedCompletion for ReplicatingSubscription::DelegatingConsumer
The event messages sent to this consumer do not have delayed completion. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/qpid-3603-6@1244057 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/broker/Consumer.h1
-rw-r--r--qpid/cpp/src/qpid/ha/ReplicatingSubscription.h7
2 files changed, 5 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/broker/Consumer.h b/qpid/cpp/src/qpid/broker/Consumer.h
index 83f744c0fc..d13d8075a9 100644
--- a/qpid/cpp/src/qpid/broker/Consumer.h
+++ b/qpid/cpp/src/qpid/broker/Consumer.h
@@ -61,6 +61,7 @@ class Consumer {
virtual bool accept(boost::intrusive_ptr<Message>) { return true; }
virtual OwnershipToken* getSession() = 0;
virtual void cancel() = 0;
+ virtual bool isDelayedCompletion() const { return false; }
protected:
framing::SequenceNumber position;
diff --git a/qpid/cpp/src/qpid/ha/ReplicatingSubscription.h b/qpid/cpp/src/qpid/ha/ReplicatingSubscription.h
index 31246507c9..688d2b7726 100644
--- a/qpid/cpp/src/qpid/ha/ReplicatingSubscription.h
+++ b/qpid/cpp/src/qpid/ha/ReplicatingSubscription.h
@@ -104,10 +104,11 @@ class ReplicatingSubscription : public broker::SemanticState::ConsumerImpl,
~DelegatingConsumer();
bool deliver(broker::QueuedMessage& msg);
void notify();
- bool filter(boost::intrusive_ptr<Message>);
- bool accept(boost::intrusive_ptr<Message>);
+ bool filter(boost::intrusive_ptr<broker::Message>);
+ bool accept(boost::intrusive_ptr<broker::Message>);
void cancel();
- OwnershipToken* getSession();
+ bool isDelayedCompletion() const { return false; }
+ broker::OwnershipToken* getSession();
private:
ReplicatingSubscription& delegate;
};