summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid')
-rw-r--r--cpp/src/qpid/client/amqp0_10/ReceiverImpl.cpp7
-rw-r--r--cpp/src/qpid/client/amqp0_10/ReceiverImpl.h2
-rw-r--r--cpp/src/qpid/messaging/Receiver.cpp1
-rw-r--r--cpp/src/qpid/messaging/ReceiverImpl.h1
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