#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 ACE_Map_Iterator< TOKEN_NAME, ACE_Mutex_Invariants *, ACE_Null_Mutex > | MUTEX_COLLECTION_ITERATOR |
| Allows iterations through collection. | |
| typedef ACE_Map_Entry< TOKEN_NAME, ACE_Mutex_Invariants * > | 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 ACE_Map_Iterator< TOKEN_NAME, ACE_RWLock_Invariants *, ACE_Null_Mutex > | RWLOCK_COLLECTION_ITERATOR |
| Allows iterations through collection. | |
| typedef ACE_Map_Entry< TOKEN_NAME, ACE_RWLock_Invariants * > | 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.
|
1.2.18