NAME
ACE_Remote_RLock - Proxy for acquiring, renewing, and releasing a distributed readers lock.
SYNOPSIS
#include <ACE/Remote_Tokens.h>
class ACE_Remote_RLock : public ACE_Remote_Token_Proxy
{
public:
ACE_Remote_RLock (void);
ACE_Remote_RLock (
const ASYS_TCHAR *token_name,
int ignore_deadlock = 0,
int debug = 0
);
ACE_Remote_RLock (const ACE_Remote_RLock &mutex);
void dump (void) const;
virtual int type (void) const;
virtual ACE_Token_Proxy *clone (void) const;
protected:
virtual ACE_Tokens *create_token (const ASYS_TCHAR *name);
};
DESCRIPTION
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.
PUBLIC MEMBERS
ACE_Remote_RLock (void);
ACE_Remote_RLock (
const ASYS_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_Proxy *clone (void) const;
Return deep copy.
PROTECTED MEMBERS
virtual ACE_Tokens *create_token (const ASYS_TCHAR *name);
Make the correct type of ACE_Tokens. This is called by the Token Manager.
AUTHOR
Douglas C. Schmidt ([email protected]) and Tim Harrison ([email protected])
LIBRARY
ACE