ACE  6.4.2
Public Member Functions | Protected Member Functions | List of all members
ACE_Remote_RLock Class Reference

Proxy for acquiring, renewing, and releasing a distributed readers lock. More...

#include <Remote_Tokens.h>

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

Public Member Functions

 ACE_Remote_RLock (void)
 
 ACE_Remote_RLock (const ACE_TCHAR *token_name, int ignore_deadlock=0, int debug=0)
 
 ACE_Remote_RLock (const ACE_Remote_RLock &mutex)
 
void dump (void) const
 Dump the state of the class. More...
 
virtual int type (void) const
 Returns ACE_RW_Token::RLOCK;. 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...
 

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 readers lock.

This is the remote equivalent to ACE_Local_RLock. Multiple readers can hold the lock simultaneously when no writers have the lock. Alternatively, when a writer holds the lock, no other participants (readers or writers) may hold the lock. ACE_Remote_RLock depends on the ACE Token Server for its distributed synchronization semantics.

Constructor & Destructor Documentation

ACE_Remote_RLock::ACE_Remote_RLock ( void  )
ACE_Remote_RLock::ACE_Remote_RLock ( const ACE_TCHAR token_name,
int  ignore_deadlock = 0,
int  debug = 0 
)
inline
ACE_Remote_RLock::ACE_Remote_RLock ( const ACE_Remote_RLock mutex)

Member Function Documentation

ACE_Token_Proxy * ACE_Remote_RLock::clone ( void  ) const
virtual

Return deep copy.

Implements ACE_Token_Proxy.

ACE_Tokens * ACE_Remote_RLock::create_token ( const ACE_TCHAR name)
protectedvirtual

Make the correct type of ACE_Tokens. This is called by the Token Manager.

Implements ACE_Token_Proxy.

void ACE_Remote_RLock::dump ( void  ) const

Dump the state of the class.

int ACE_Remote_RLock::type ( void  ) const
virtual

Returns ACE_RW_Token::RLOCK;.

Reimplemented from ACE_Token_Proxy.


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