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 *&);
int decode (void);
void dump (void) const;

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