diff options
Diffstat (limited to 'cpp/src/qpid/broker/Queue.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Queue.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp index d671cea9a5..8a81b07aef 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -23,13 +23,12 @@ using namespace qpid::broker; using namespace qpid::concurrent; -Queue::Queue(const string& _name, bool _durable, u_int32_t _autodelete, +Queue::Queue(const string& _name, u_int32_t _autodelete, MessageStore* const _store, const ConnectionToken* const _owner) : name(_name), autodelete(_autodelete), - durable(_durable), store(_store), owner(_owner), queueing(false), @@ -166,12 +165,26 @@ bool Queue::canAutoDelete() const{ void Queue::enqueue(Message::shared_ptr& msg, const string * const xid){ if(store){ - store->enqueue(msg, name, xid); + store->enqueue(msg, *this, xid); } } void Queue::dequeue(Message::shared_ptr& msg, const string * const xid){ if(store){ - store->dequeue(msg, name, xid); + store->dequeue(msg, *this, xid); + } +} + +void Queue::create() +{ + if(store){ + store->create(*this); + } +} + +void Queue::destroy() +{ + if(store){ + store->destroy(*this); } } |