#include <Token_Invariants.h>
Inheritance diagram for ACE_Token_Invariant_Manager:
Public Methods | |
int | acquired (const ACE_Token_Proxy *proxy) |
void | releasing (const ACE_Token_Proxy *proxy) |
Updates internal database. | |
int | mutex_acquired (const ACE_TCHAR *token_name) |
void | mutex_releasing (const ACE_TCHAR *token_name) |
Updates internal database. | |
int | reader_acquired (const ACE_TCHAR *token_name) |
int | writer_acquired (const ACE_TCHAR *token_name) |
void | rwlock_releasing (const ACE_TCHAR *token_name) |
Updates internal database. | |
void | dump (void) const |
Dump the state of the class. | |
ACE_Token_Invariant_Manager (void) | |
Prevent non-singleton construction. | |
virtual | ~ACE_Token_Invariant_Manager (void) |
Destruction. | |
Static Public Methods | |
ACE_Token_Invariant_Manager * | instance (void) |
Singleton access point. | |
Protected Types | |
typedef ACE_Token_Name | TOKEN_NAME |
This may be changed to a template type. | |
typedef ACE_Map_Manager< TOKEN_NAME, ACE_Mutex_Invariants *, ACE_Null_Mutex > | MUTEX_COLLECTION |
COLLECTION maintains a mapping from token names to mutexes. | |
typedef MUTEX_COLLECTION::ITERATOR | MUTEX_COLLECTION_ITERATOR |
Allows iterations through collection. | |
typedef MUTEX_COLLECTION::ENTRY | MUTEX_COLLECTION_ENTRY |
Allows iterations through collection. | |
typedef ACE_Map_Manager< TOKEN_NAME, ACE_RWLock_Invariants *, ACE_Null_Mutex > | RWLOCK_COLLECTION |
COLLECTION maintains a mapping from token names to mutexes. | |
typedef RWLOCK_COLLECTION::ITERATOR | RWLOCK_COLLECTION_ITERATOR |
Allows iterations through collection. | |
typedef RWLOCK_COLLECTION::ENTRY | RWLOCK_COLLECTION_ENTRY |
Allows iterations through collection. | |
Protected Methods | |
int | get_mutex (const ACE_TCHAR *token_name, ACE_Mutex_Invariants *&inv) |
Return or create. | |
int | get_rwlock (const ACE_TCHAR *token_name, ACE_RWLock_Invariants *&inv) |
Return or create. | |
Protected Attributes | |
ACE_TOKEN_CONST::MUTEX | lock_ |
ACE_Mutex_Token used to lock internal data structures. | |
MUTEX_COLLECTION | mutex_collection_ |
MUTEX_COLLECTION maintains a mapping from token names to mutexes. | |
RWLOCK_COLLECTION | rwlock_collection_ |
MUTEX_COLLECTION maintains a mapping from token names to mutexes. | |
Static Protected Attributes | |
ACE_Token_Invariant_Manager * | instance_ = 0 |
Singleton pointer. |
The Token Invariant Manager allows applications to test that invariants are always satisfied. Currently, Token_Invariants can test mutexes and readers/writer locks. Does not test recursive acquisition. Note that this class does not ever clean its database. Until destroyed, it's size will forever increase.
|
COLLECTION maintains a mapping from token names to mutexes.
|
|
Allows iterations through collection.
|
|
Allows iterations through collection.
|
|
COLLECTION maintains a mapping from token names to mutexes.
|
|
Allows iterations through collection.
|
|
Allows iterations through collection.
|
|
This may be changed to a template type.
|
|
Prevent non-singleton construction.
|
|
Destruction.
|
|
Returns 1 on success, 0 when an invariant has been violated and -1 on error. |
|
Dump the state of the class.
|
|
Return or create.
|
|
Return or create.
|
|
Singleton access point.
|
|
Returns 1 on success, 0 when an invariant has been violated and -1 on error. |
|
Updates internal database.
|
|
Returns 1 on success, 0 when an invariant has been violated and -1 on error. |
|
Updates internal database.
|
|
Updates internal database.
|
|
Returns 1 on success, 0 when an invariant has been violated and -1 on error. |
|
Singleton pointer.
|
|
ACE_Mutex_Token used to lock internal data structures.
|
|
MUTEX_COLLECTION maintains a mapping from token names to mutexes.
|
|
MUTEX_COLLECTION maintains a mapping from token names to mutexes.
|