ACE  6.3.3
Public Member Functions | Protected Member Functions | List of all members
ACE_Remote_Mutex Class Reference

Proxy for acquiring, renewing, and releasing a distributed mutex. More...

#include <Remote_Tokens.h>

Inheritance diagram for ACE_Remote_Mutex:
Inheritance graph
[legend]
Collaboration diagram for ACE_Remote_Mutex:
Collaboration graph
[legend]

Public Member Functions

 ACE_Remote_Mutex (void)
 Null creation. Remote_Token_Proxy::open must be called. More...
 
 ACE_Remote_Mutex (const ACE_TCHAR *token_name, int ignore_deadlock=0, int debug=0)
 Calls Remote_Token_Proxy::open for you. More...
 
void dump (void) const
 Dump the state of the class. More...
 
virtual ACE_Token_Proxyclone (void) const
 Return deep copy. More...
 
- Public Member Functions inherited from ACE_Remote_Token_Proxy
 ACE_Remote_Token_Proxy (void)
 Null construction. More...
 
virtual ~ACE_Remote_Token_Proxy (void)
 Death. More...
 
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. More...
 
virtual const ACE_TCHARowner_id (void)
 The client id of the current token holder. More...
 
void dump (void) const
 Dump the state of the class. More...
 
- Public Member Functions inherited from ACE_Token_Proxy
 ACE_Token_Proxy (void)
 Construction. More...
 
virtual ~ACE_Token_Proxy (void)
 Destructor. More...
 
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_TCHARclient_id (void) const
 
virtual void client_id (const ACE_TCHAR *client_id)
 
virtual const ACE_TCHARname (void) const
 
virtual void sleep_hook (void)
 
void dump (void) const
 Dump the state of the class. More...
 
virtual int type (void) const
 

Protected Member Functions

virtual ACE_Tokenscreate_token (const ACE_TCHAR *name)
 
- Protected Member Functions inherited from ACE_Remote_Token_Proxy
int request_reply (ACE_Token_Request &request, ACE_Synch_Options &options)
 Perform the request and wait for the reply. More...
 
- Protected Member Functions inherited from ACE_Token_Proxy
 ACE_Token_Proxy (const ACE_Token_Proxy &)
 Duplication. More...
 
int handle_options (ACE_Synch_Options &options, ACE_TOKEN_CONST::COND_VAR &cv)
 Handles cond_var waits. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ACE_Remote_Token_Proxy
static void set_server_address (const ACE_INET_Addr &server_address)
 
- Protected Attributes inherited from ACE_Remote_Token_Proxy
int ignore_shadow_deadlock_
 If shadows report deadlock, go remote anyway. More...
 
- Protected Attributes inherited from ACE_Token_Proxy
int ignore_deadlock_
 If this is set, we ignore deadlock. More...
 
int debug_
 Print a bunch of debug messages. More...
 
ACE_Tokenstoken_
 
ACE_TSS_TPQ_Entry waiter_
 Waiter info used for asynchronous transactions. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

ACE_Remote_Mutex::ACE_Remote_Mutex ( void  )
inline

Null creation. Remote_Token_Proxy::open must be called.

ACE_Remote_Mutex::ACE_Remote_Mutex ( const ACE_TCHAR token_name,
int  ignore_deadlock = 0,
int  debug = 0 
)
inline

Calls Remote_Token_Proxy::open for you.

Member Function Documentation

ACE_Token_Proxy * ACE_Remote_Mutex::clone ( void  ) const
virtual

Return deep copy.

Implements ACE_Token_Proxy.

ACE_Tokens * ACE_Remote_Mutex::create_token ( const ACE_TCHAR name)
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.


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