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]
List of all members.

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.

virtual int type (void) const
 Returns ACE_RW_Token::RLOCK;.

virtual ACE_Token_Proxyclone (void) const
 Return deep copy.


Protected Member Functions

virtual ACE_Tokenscreate_token (const ACE_TCHAR *name)

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.

Definition at line 205 of file Remote_Tokens.h.


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
 

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.

Definition at line 459 of file Remote_Tokens.cpp.

References ACE_NEW_RETURN.

00460 {
00461   ACE_Token_Proxy *temp = 0;
00462   ACE_NEW_RETURN (temp,
00463                   ACE_Remote_RLock (this->name (),
00464                                     ignore_deadlock_,
00465                                     debug_),
00466                   0);
00467   return temp;
00468 }

ACE_Tokens * ACE_Remote_RLock::create_token const ACE_TCHAR name  )  [protected, virtual]
 

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

Implements ACE_Token_Proxy.

Definition at line 443 of file Remote_Tokens.cpp.

References ACE_NEW_RETURN, and ACE_TCHAR.

00444 {
00445   ACE_Tokens *temp = 0;
00446   ACE_NEW_RETURN (temp,
00447                   ACE_RW_Token (name),
00448                   0);
00449   return temp;
00450 }

void ACE_Remote_RLock::dump void   )  const
 

Dump the state of the class.

Reimplemented from ACE_Remote_Token_Proxy.

Definition at line 471 of file Remote_Tokens.cpp.

References ACE_BEGIN_DUMP, ACE_DEBUG, ACE_END_DUMP, ACE_LIB_TEXT, ACE_TRACE, ACE_Remote_Token_Proxy::dump(), and LM_DEBUG.

00472 {
00473 #if defined (ACE_HAS_DUMP)
00474   ACE_TRACE ("ACE_Remote_RLock::dump");
00475   ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
00476   ACE_DEBUG ((LM_DEBUG,  ACE_LIB_TEXT ("ACE_Remote_RLock::dump:\n")));
00477   ACE_DEBUG ((LM_DEBUG,  ACE_LIB_TEXT ("base:\n")));
00478   ACE_Remote_Token_Proxy::dump ();
00479   ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
00480 #endif /* ACE_HAS_DUMP */
00481 }

int ACE_Remote_RLock::type void   )  const [virtual]
 

Returns ACE_RW_Token::RLOCK;.

Reimplemented from ACE_Token_Proxy.

Definition at line 453 of file Remote_Tokens.cpp.

00454 {
00455   return ACE_RW_Token::READER;
00456 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:28:14 2006 for ACE by doxygen 1.3.6