#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 char *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 char* 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 );};
ACE_Remote_Token_Proxy (void);
virtual ~ACE_Remote_Token_Proxy (void);
int open (const char *name, int ignore_deadlock = 0, int debug = 0);
name is the string uniquely identifying
the token. ignore_deadlock can be 1 to disable deadlock
notifications. debug prints debug messages.
int initiate_connection (void);
virtual int acquire (int notify = 0, void (*sleep_hook)(
void *) = 0,
ACE_Synch_Options &options = ACE_Synch_Options::synch
);
errno == problem.
virtual int tryacquire (void (*sleep_hook)(void *) = 0);
virtual int renew (
int requeue_position = 0,
ACE_Synch_Options &options = ACE_Synch_Options::synch
);
this-release() followed by
this-acquire(), but it is faster. options contains the
timeout value used if renew blocks. As with acquire, the timer
is maintained at the token server. If there are waiters and
requeue_position == -1, the caller is queued at the rear of the
waiter list. Otherwise, requeue_position specifies the number of
waiters to "let by" before reacquiring the token (effectively,
the position in the waiter list.)
ACE_Synch_Options::synch);
errno ==
problem.
ACE_Synch_Options::synch);
. This has no
functionality.
virtual void token_acquired (ACE_TPQ_Entry *);
virtual const char* owner_id (void);
static void set_server_address (const ACE_INET_Addr &server_address);
void dump (void) const;
int ignore_shadow_deadlock_;
int request_reply (
ACE_Token_Request &request,
ACE_Synch_Options &options
);