diff options
| author | Alan Conway <aconway@apache.org> | 2010-05-14 13:55:18 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-05-14 13:55:18 +0000 |
| commit | 854062d73c485027f2f40abac159cb19e85c0dca (patch) | |
| tree | 018655bb2fe2f0320bf39ea4fb6e9b25e833d778 /cpp/src/qpid | |
| parent | 18a06573ea14a98029764d1badf42695b3a31643 (diff) | |
| download | qpid-python-854062d73c485027f2f40abac159cb19e85c0dca.tar.gz | |
Initial multi-thread unit test for messaging API.
- added Receiver::isClosed() to test for local close.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@944261 13f79535-47bb-0310-9956-ffa450edef68
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 |
