summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/ha/QueueReplicator.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/ha/QueueReplicator.h')
-rw-r--r--cpp/src/qpid/ha/QueueReplicator.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/cpp/src/qpid/ha/QueueReplicator.h b/cpp/src/qpid/ha/QueueReplicator.h
index 90f38ce7e1..cbc950d4bc 100644
--- a/cpp/src/qpid/ha/QueueReplicator.h
+++ b/cpp/src/qpid/ha/QueueReplicator.h
@@ -72,11 +72,8 @@ class QueueReplicator : public broker::Exchange,
void activate(); // Must be called immediately after constructor.
std::string getType() const;
- bool bind(boost::shared_ptr<broker::Queue
- >, const std::string&, const framing::FieldTable*);
- bool unbind(boost::shared_ptr<broker::Queue>, const std::string&, const framing::FieldTable*);
+
void route(broker::Deliverable&);
- bool isBound(boost::shared_ptr<broker::Queue>, const std::string* const, const framing::FieldTable* const);
// Set if the queue has ever been subscribed to, used for auto-delete cleanup.
void setSubscribed() { subscribed = true; }
@@ -86,16 +83,26 @@ class QueueReplicator : public broker::Exchange,
ReplicationId getMaxId();
+ // No-op unused Exchange virtual functions.
+ bool bind(boost::shared_ptr<broker::Queue>, const std::string&, const framing::FieldTable*);
+ bool unbind(boost::shared_ptr<broker::Queue>, const std::string&, const framing::FieldTable*);
+ bool isBound(boost::shared_ptr<broker::Queue>, const std::string* const, const framing::FieldTable* const);
+
protected:
typedef boost::function<void(const std::string&, sys::Mutex::ScopedLock&)> DispatchFn;
typedef qpid::sys::unordered_map<std::string, DispatchFn> DispatchMap;
virtual void deliver(const broker::Message&);
+ virtual void destroy(); // Called when the queue is destroyed.
sys::Mutex lock;
HaBroker& haBroker;
const BrokerInfo brokerInfo;
DispatchMap dispatch;
+ boost::shared_ptr<broker::Link> link;
+ boost::shared_ptr<broker::Bridge> bridge;
+ boost::shared_ptr<broker::Queue> queue;
+ broker::SessionHandler* sessionHandler;
private:
typedef qpid::sys::unordered_map<
@@ -104,7 +111,6 @@ class QueueReplicator : public broker::Exchange,
class QueueObserver;
void initializeBridge(broker::Bridge& bridge, broker::SessionHandler& sessionHandler);
- void destroy(); // Called when the queue is destroyed.
// Dispatch functions
void dequeueEvent(const std::string& data, sys::Mutex::ScopedLock&);
@@ -112,9 +118,6 @@ class QueueReplicator : public broker::Exchange,
std::string logPrefix;
std::string bridgeName;
- boost::shared_ptr<broker::Queue> queue;
- boost::shared_ptr<broker::Link> link;
- boost::shared_ptr<broker::Bridge> bridge;
bool subscribed;
const Settings& settings;