diff options
Diffstat (limited to 'cpp/src/qpid')
| -rw-r--r-- | cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp | 7 | ||||
| -rw-r--r-- | cpp/src/qpid/client/amqp0_10/ReceiverImpl.h | 2 | ||||
| -rw-r--r-- | cpp/src/qpid/messaging/Receiver.cpp | 1 | ||||
| -rw-r--r-- | cpp/src/qpid/messaging/ReceiverImpl.h | 1 |
4 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp b/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp index 49cfec7497..9b706ab3de 100644 --- a/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp +++ b/cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp @@ -193,6 +193,13 @@ void ReceiverImpl::closeImpl() } } +bool ReceiverImpl::isClosed() const { + sys::Mutex::ScopedLock l(lock); + return state == CANCELLED; +} + + + void ReceiverImpl::setCapacityImpl(uint32_t c) { sys::Mutex::ScopedLock l(lock); diff --git a/cpp/src/qpid/client/amqp0_10/ReceiverImpl.h b/cpp/src/qpid/client/amqp0_10/ReceiverImpl.h index c7e24b774a..5693b7b71f 100644 --- a/cpp/src/qpid/client/amqp0_10/ReceiverImpl.h +++ b/cpp/src/qpid/client/amqp0_10/ReceiverImpl.h @@ -65,6 +65,8 @@ class ReceiverImpl : public qpid::messaging::ReceiverImpl uint32_t getUnsettled(); void received(qpid::messaging::Message& message); qpid::messaging::Session getSession() const; + bool isClosed() const; + private: mutable sys::Mutex lock; boost::intrusive_ptr<SessionImpl> parent; diff --git a/cpp/src/qpid/messaging/Receiver.cpp b/cpp/src/qpid/messaging/Receiver.cpp index 552c1db16c..78e0c5daa3 100644 --- a/cpp/src/qpid/messaging/Receiver.cpp +++ b/cpp/src/qpid/messaging/Receiver.cpp @@ -44,4 +44,5 @@ uint32_t Receiver::getUnsettled() { return impl->getUnsettled(); } void Receiver::close() { impl->close(); } const std::string& Receiver::getName() const { return impl->getName(); } Session Receiver::getSession() const { return impl->getSession(); } +bool Receiver::isClosed() const { return impl->isClosed(); } }} // namespace qpid::messaging diff --git a/cpp/src/qpid/messaging/ReceiverImpl.h b/cpp/src/qpid/messaging/ReceiverImpl.h index 07da0636f7..57059bfd28 100644 --- a/cpp/src/qpid/messaging/ReceiverImpl.h +++ b/cpp/src/qpid/messaging/ReceiverImpl.h @@ -45,6 +45,7 @@ class ReceiverImpl : public virtual qpid::RefCounted virtual void close() = 0; virtual const std::string& getName() const = 0; virtual Session getSession() const = 0; + virtual bool isClosed() const = 0; }; }} // namespace qpid::messaging |
