---
name: "ACE_Token_Request"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Token_Request"
---

# ACE\_Token\_Request(3)

Message format for delivering requests to the ACE\_Token Server.

## 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

Define the format used to exchange messages between the ACE\_Token Server and its clients.

## 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.

## AUTHOR

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

## LIBRARY

ACE
