NAME
ACE_Token_Request -
Message format for delivering requests to the ACE_Token Server.
SYNOPSIS
#include <ACE/Token_Request_Reply.h>
class ACE_Token_Request
{
public:
enum OPERATION{ ACQUIRE, RELEASE, RENEW, REMOVE, TRY_ACQUIRE };
ACE_Token_Request (void);
ACE_Token_Request (
int token_type,
int proxy_type,
ACE_UINT32 operation,
const char token_name[],
const char client_id[],
const ACE_Synch_Options &options
);
ACE_UINT32 length (void) const;
void length (ACE_UINT32);
int proxy_type (void) const;
void proxy_type (int proxy_type);
int token_type (void) const;
void token_type (int token_type);
ACE_UINT32 operation_type (void) const;
void operation_type (ACE_UINT32);
ACE_UINT32 requeue_position (void) const;
void requeue_position (ACE_UINT32);
ACE_UINT32 notify (void) const;
void notify (ACE_UINT32);
ACE_Synch_Options &options (void) const;
void options (const ACE_Synch_Options &options);
char *token_name (void) const;
char *client_id (void) const;
void token_name (const char *token_name, const char* client_id);
int encode (void *&);
int decode (void);
void dump (void) const;
private:
Transfer transfer_;
char *token_name_;
char *client_id_;
ACE_Synch_Options options_;
};
DESCRIPTION
This class is implemented to minimize data copying.
In particular, all marshaling is done in situ...
Set/get the length of the encoded/decoded message.
ACE_UINT32 length (void) const;
void length (ACE_UINT32);
Set/get the type of proxy
int proxy_type (void) const;
void proxy_type (int proxy_type);
Set/get the type of token
int token_type (void) const;
void token_type (int token_type);
Set/get the type of the operation.
ACE_UINT32 operation_type (void) const;
void operation_type (ACE_UINT32);
Set/get the requeue position. These should be used when renew
is the operation type.
ACE_UINT32 requeue_position (void) const;
void requeue_position (ACE_UINT32);
Set/get notify. These should be used when acquire is the operation type.
ACE_UINT32 notify (void) const;
void notify (ACE_UINT32);
Set/get the timeout.
ACE_Synch_Options &options (void) const;
void options (const ACE_Synch_Options &options);
Set/get the name of the token and the client id. The set
method is combined to make it easier on us. We're copying the
names as a contiguous buffer.
char *token_name (void) const;
char *client_id (void) const;
void token_name (const char *token_name, const char* client_id);
int encode (void *&);
Encode the message before transmission.
int decode (void);
Decode message after reception. This must be called to set the
internal options.
void dump (void) const;
Print out the values of the message for debugging purposes.
DESCRIPTION
Define the format used to exchange messages between the
ACE_Token Server and its clients.
AUTHOR
Douglas C. Schmidt (schmidt@cs.wustl.edu)
Tim Harrison (harrison@cs.wustl.edu)
LIBRARY
ACE