NAME

ACE_Remote_Token_Proxy - Proxy for acquiring, renewing, and releasing a distributed synchronization token.

SYNOPSIS

#include <ACE/Remote_Tokens.h>

class ACE_Remote_Token_Proxy : public ACE_Token_Proxy { public: ACE_Remote_Token_Proxy (void); virtual ~ACE_Remote_Token_Proxy (void); int open ( const ASYS_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 ); ACE_Synch_Options::synch); ACE_Synch_Options::synch); virtual void token_acquired (ACE_TPQ_Entry *); virtual const ASYS_TCHAR* owner_id (void); static void set_server_address ( const ACE_INET_Addr &server_address ); void dump (void) const; protected: int ignore_shadow_deadlock_; int request_reply ( ACE_Token_Request &request, ACE_Synch_Options &options ); };

DESCRIPTION

The Remote_Token_Proxy class implements the mechanisms for distributed token operations. It is similar to the ACE_Token_Proxy.

PUBLIC MEMBERS

ACE_Remote_Token_Proxy (void);

virtual ~ACE_Remote_Token_Proxy (void);

int open (
    const ASYS_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
    );

ACE_Synch_Options::synch);

ACE_Synch_Options::synch);

virtual void token_acquired (ACE_TPQ_Entry *);

virtual const ASYS_TCHAR* owner_id (void);

static void set_server_address (const ACE_INET_Addr &server_address);

void dump (void) const;

PROTECTED MEMBERS

int ignore_shadow_deadlock_;

int request_reply (
    ACE_Token_Request &request,
    ACE_Synch_Options &options
    );

AUTHOR

Douglas C. Schmidt (schmidt@cs.wustl.edu) and Tim Harrison (harrison@cs.wustl.edu)

BUGS

Distributed sleep_hooks have not been implemented. owner_id is not implemented.

LIBRARY

ACE