activemq-cpp-3.6.0
decaf::util::concurrent::Synchronizable Class Reference

The interface for all synchronizable objects (that is, objects that can be locked and unlocked). More...

#include <src/main/decaf/util/concurrent/Synchronizable.h>

Inheritance diagram for decaf::util::concurrent::Synchronizable:

Public Member Functions

virtual ~Synchronizable ()
virtual void lock ()=0
 Locks the object.
virtual bool tryLock ()=0
 Attempts to Lock the object, if the lock is already held by another thread than this method returns false.
virtual void unlock ()=0
 Unlocks the object.
virtual void wait ()=0
 Waits on a signal from this object, which is generated by a call to Notify.
virtual void wait (long long millisecs)=0
 Waits on a signal from this object, which is generated by a call to Notify.
virtual void wait (long long millisecs, int nanos)=0
 Waits on a signal from this object, which is generated by a call to Notify.
virtual void notify ()=0
 Signals a waiter on this object that it can now wake up and continue.
virtual void notifyAll ()=0
 Signals the waiters on this object that it can now wake up and continue.

Detailed Description

The interface for all synchronizable objects (that is, objects that can be locked and unlocked).

Since
1.0

Constructor & Destructor Documentation

virtual decaf::util::concurrent::Synchronizable::~Synchronizable ( )
virtual

Member Function Documentation

virtual void decaf::util::concurrent::Synchronizable::lock ( )
pure virtual

Locks the object.

Exceptions
RuntimeExceptionif an error occurs while locking the object.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual void decaf::util::concurrent::Synchronizable::notify ( )
pure virtual

Signals a waiter on this object that it can now wake up and continue.

Must have this object locked before calling.

Exceptions
IllegalMonitorStateException- if the current thread is not the owner of the the Synchronizable Object.
RuntimeExceptionif an error occurs while notifying one of the waiting threads.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual void decaf::util::concurrent::Synchronizable::notifyAll ( )
pure virtual

Signals the waiters on this object that it can now wake up and continue.

Must have this object locked before calling.

Exceptions
IllegalMonitorStateException- if the current thread is not the owner of the the Synchronizable Object.
RuntimeExceptionif an error occurs while notifying the waiting threads.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual bool decaf::util::concurrent::Synchronizable::tryLock ( )
pure virtual

Attempts to Lock the object, if the lock is already held by another thread than this method returns false.

Returns
true if the lock was acquired, false if it is already held by another thread.
Exceptions
RuntimeExceptionif an error occurs while locking the object.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual void decaf::util::concurrent::Synchronizable::unlock ( )
pure virtual

Unlocks the object.

Exceptions
RuntimeExceptionif an error occurs while unlocking the object.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual void decaf::util::concurrent::Synchronizable::wait ( )
pure virtual

Waits on a signal from this object, which is generated by a call to Notify.

Must have this object locked before calling.

Exceptions
RuntimeExceptionif an error occurs while waiting on the object.
InterruptedExceptionif the wait is interrupted before it completes.
IllegalMonitorStateException- if the current thread is not the owner of the the Synchronizable Object.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual void decaf::util::concurrent::Synchronizable::wait ( long long  millisecs)
pure virtual

Waits on a signal from this object, which is generated by a call to Notify.

Must have this object locked before calling. This wait will timeout after the specified time interval.

Parameters
millisecsthe time in milliseconds to wait, or WAIT_INIFINITE
Exceptions
RuntimeExceptionif an error occurs while waiting on the object.
InterruptedExceptionif the wait is interrupted before it completes.
IllegalMonitorStateException- if the current thread is not the owner of the the Synchronizable Object.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.

virtual void decaf::util::concurrent::Synchronizable::wait ( long long  millisecs,
int  nanos 
)
pure virtual

Waits on a signal from this object, which is generated by a call to Notify.

Must have this object locked before calling. This wait will timeout after the specified time interval. This method is similar to the one argument wait function except that it add a finer grained control over the amount of time that it waits by adding in the additional nanosecond argument.

NOTE: The ability to wait accurately at a nanosecond scale depends on the platform and OS that the Decaf API is running on, some systems do not provide an accurate enough clock to provide this level of granularity.

Parameters
millisecsthe time in milliseconds to wait, or WAIT_INIFINITE
nanosadditional time in nanoseconds with a range of 0-999999
Exceptions
IllegalArgumentExceptionif an error occurs or the nanos argument is not in the range of [0-999999]
RuntimeExceptionif an error occurs while waiting on the object.
InterruptedExceptionif the wait is interrupted before it completes.
IllegalMonitorStateException- if the current thread is not the owner of the the Synchronizable Object.

Implemented in decaf::util::concurrent::ConcurrentStlMap< K, V, COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< MessageId >, Pointer< Command >, MessageId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConnectionId >, Pointer< ConnectionState >, ConnectionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< std::string, Pointer< Command > >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ConsumerId >, Pointer< ConsumerState >, ConsumerId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< SessionId >, Pointer< SessionState >, SessionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< LocalTransactionId >, Pointer< TransactionState >, LocalTransactionId::COMPARATOR >, decaf::util::concurrent::ConcurrentStlMap< Pointer< ProducerId >, Pointer< ProducerState >, ProducerId::COMPARATOR >, decaf::util::concurrent::CopyOnWriteArrayList< E >, decaf::util::StlMap< K, V, COMPARATOR >, decaf::util::StlMap< cms::Session *, SessionResolver * >, decaf::util::StlMap< std::string, WireFormatFactory * >, decaf::util::StlMap< decaf::lang::Runnable *, decaf::util::TimerTask * >, decaf::util::StlMap< std::string, PrimitiveValueNode >, decaf::util::StlMap< std::string, cms::Queue * >, decaf::util::StlMap< std::string, CachedConsumer * >, decaf::util::StlMap< std::string, TransportFactory * >, decaf::util::StlMap< Pointer< ConsumerId >, Pointer< ConsumerInfo >, ConsumerId::COMPARATOR >, decaf::util::StlMap< std::string, CachedProducer * >, decaf::util::StlMap< std::string, cms::Topic * >, decaf::util::AbstractCollection< E >, decaf::util::AbstractCollection< ServiceListener * >, decaf::util::AbstractCollection< Pointer< Transport > >, decaf::util::AbstractCollection< Pointer< Synchronization > >, decaf::util::AbstractCollection< Resource * >, decaf::util::AbstractCollection< cms::MessageConsumer * >, decaf::util::AbstractCollection< CompositeTask * >, decaf::util::AbstractCollection< URI >, decaf::util::AbstractCollection< Pointer< MessageDispatch > >, decaf::util::AbstractCollection< Pointer< DestinationInfo > >, decaf::util::AbstractCollection< PrimitiveValueNode >, decaf::util::AbstractCollection< V >, decaf::util::AbstractCollection< MapEntry< K, V > >, decaf::util::AbstractCollection< decaf::net::URI >, decaf::util::AbstractCollection< Pointer< Command > >, decaf::util::AbstractCollection< cms::MessageProducer * >, decaf::util::AbstractCollection< cms::Destination * >, decaf::util::AbstractCollection< cms::Session * >, decaf::util::AbstractCollection< Pointer< ActiveMQDestination > >, decaf::util::AbstractCollection< cms::Connection * >, decaf::util::AbstractCollection< K >, decaf::io::InputStream, decaf::util::StlQueue< T >, decaf::io::OutputStream, activemq::core::SimplePriorityMessageDispatchChannel, activemq::core::FifoMessageDispatchChannel, decaf::util::AbstractMap< K, V >, decaf::util::concurrent::Mutex, and decaf::internal::util::concurrent::SynchronizableImpl.


The documentation for this class was generated from the following file: