diff options
Diffstat (limited to 'cpp/src/qpid/ha/QueueReplicator.h')
-rw-r--r-- | cpp/src/qpid/ha/QueueReplicator.h | 19 |
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; |