ACE
6.1.7
|
Proxy for acquiring, renewing, and releasing a distributed mutex. More...
#include <Remote_Tokens.h>
Public Member Functions | |
ACE_Remote_Mutex (void) | |
Null creation. Remote_Token_Proxy::open must be called. | |
ACE_Remote_Mutex (const ACE_TCHAR *token_name, int ignore_deadlock=0, int debug=0) | |
Calls Remote_Token_Proxy::open for you. | |
void | dump (void) const |
Dump the state of the class. | |
virtual ACE_Token_Proxy * | clone (void) const |
Return deep copy. | |
![]() | |
ACE_Remote_Token_Proxy (void) | |
Null construction. | |
virtual | ~ACE_Remote_Token_Proxy (void) |
Death. | |
int | open (const ACE_TCHAR *name, int ignore_deadlock=0, int debug=0) |
int | initiate_connection (void) |
virtual int | acquire (int notify=0, void(*sleep_hook)(void *)=0, ACE_Synch_Options &options=ACE_Synch_Options::synch) |
virtual int | tryacquire (void(*sleep_hook)(void *)=0) |
virtual int | renew (int requeue_position=0, ACE_Synch_Options &options=ACE_Synch_Options::synch) |
virtual int | release (ACE_Synch_Options &options=ACE_Synch_Options::synch) |
virtual int | remove (ACE_Synch_Options &options=ACE_Synch_Options::synch) |
virtual void | token_acquired (ACE_TPQ_Entry *) |
Override the default to do nothing. | |
virtual const ACE_TCHAR * | owner_id (void) |
The client id of the current token holder. | |
![]() | |
ACE_Token_Proxy (void) | |
Construction. | |
virtual | ~ACE_Token_Proxy (void) |
Destructor. | |
virtual int | acquire_read (int notify=0, void(*sleep_hook)(void *)=0, ACE_Synch_Options &options=ACE_Synch_Options::defaults) |
virtual int | acquire_write (int notify=0, void(*sleep_hook)(void *)=0, ACE_Synch_Options &options=ACE_Synch_Options::defaults) |
virtual int | tryacquire_read (void(*sleep_hook)(void *)=0) |
virtual int | tryacquire_write (void(*sleep_hook)(void *)=0) |
virtual const ACE_TCHAR * | client_id (void) const |
virtual void | client_id (const ACE_TCHAR *client_id) |
virtual const ACE_TCHAR * | name (void) const |
virtual void | sleep_hook (void) |
virtual int | type (void) const |
Protected Member Functions | |
virtual ACE_Tokens * | create_token (const ACE_TCHAR *name) |
![]() | |
int | request_reply (ACE_Token_Request &request, ACE_Synch_Options &options) |
Perform the request and wait for the reply. | |
![]() | |
ACE_Token_Proxy (const ACE_Token_Proxy &) | |
Duplication. | |
int | handle_options (ACE_Synch_Options &options, ACE_TOKEN_CONST::COND_VAR &cv) |
Handles cond_var waits. |
Additional Inherited Members | |
![]() | |
static void | set_server_address (const ACE_INET_Addr &server_address) |
![]() | |
int | ignore_shadow_deadlock_ |
If shadows report deadlock, go remote anyway. | |
![]() | |
int | ignore_deadlock_ |
If this is set, we ignore deadlock. | |
int | debug_ |
Print a bunch of debug messages. | |
ACE_Tokens * | token_ |
ACE_TSS_TPQ_Entry | waiter_ |
Waiter info used for asynchronous transactions. |
Proxy for acquiring, renewing, and releasing a distributed mutex.
This is the remote equivalent to ACE_Local_Mutex. The Remote_Mutex class offers methods for acquiring, renewing, and releasing a distributed synchronization mutex. Similar to ACE_Local_Mutex, ACE_Remote_Token_Proxy offers recursive acquisition, FIFO waiter ordering, and deadlock detection. It depends on the Token Server for its distributed synchronization semantics.
|
inline |
Null creation. Remote_Token_Proxy::open must be called.
|
inline |
Calls Remote_Token_Proxy::open for you.
|
virtual |
Return deep copy.
Implements ACE_Token_Proxy.
|
protectedvirtual |
Make the correct type of ACE_Tokens. This is called by the ACE_Token_Manager.
Implements ACE_Token_Proxy.
void ACE_Remote_Mutex::dump | ( | void | ) | const |
Dump the state of the class.
Reimplemented from ACE_Remote_Token_Proxy.