Reference

ACE_Token_Proxy_Queue(3)

Token waiter list.

NAME

ACE_Token_Proxy_Queue - Token waiter list.

SYNOPSIS

#include <ace/Local_Tokens.h>
class ACE_Token_Proxy_Queue
{
  public:
    friend class ACE_TPQ_Iterator;
    ACE_Token_Proxy_Queue (void);
    ~ACE_Token_Proxy_Queue (void);
    void enqueue (ACE_TPQ_Entry* new_entry, int position);
    const ACE_TPQ_Entry* head (void);
    void dequeue (void);
    void remove (const ACE_TPQ_Entry *remove_me);
    int size (void);
    void dump (void) const;
  protected:
    ACE_TPQ_Entry *head_;
    ACE_TPQ_Entry *tail_;
    int size_;
};

DESCRIPTION

This file contains definitions for the following classes:

public:
7. ACE_Token_Proxy
8. ACE_Null_Token : public ACE_Token_Proxy
9. ACE_Local_Mutex : public ACE_Token_Proxy
*. ACE_Local_RLock : public ACE_Local_Mutex
&. ACE_Local_WLock : public ACE_Local_Mutex private:
1. ACE_TOKEN_CONST
3. ACE_TPQ_Entry
b. ACE_TSS_TPQ_Entry
c. ACE_TPQ_Iterator
4. ACE_Token_Proxy_Queue
5. ACE_Tokens
6. ACE_Mutex_Token : public ACE_Tokens
12. ACE_RW_Token : public ACE_Tokens
a. ACE_Token_Name

Note that the locking classes defined in this file are *not*
intended to be used as general-purpose synchronization
mechanisms, such as mutexes or semaphores. Instead, you should
use the ACE_Recursive_Thread_Mutex, ACE_Thread_Mutex,
ACE_Thread_Semaphore, etc., that are defined in
$ACE_ROOT/ace/Synch.h and $ACE_ROOT/ace/Synch_T.h or the
ACE_Token that's defined in $ACE_ROOT/ace/Token.h.

PUBLIC MEMBERS

friend class ACE_TPQ_Iterator;

ACE_Token_Proxy_Queue (void);

Construction.

~ACE_Token_Proxy_Queue (void);

Destructor

void enqueue (ACE_TPQ_Entry* new_entry, int position);

Enqueue a proxy, nesting level, client_id, and a magic cookie at the given position in the list. If the position is -1, we enqueue at the end of the list (I think).

const ACE_TPQ_Entry* head (void);

Top of the queue.

void dequeue (void);

Remove the top waiter.

void remove (const ACE_TPQ_Entry *remove_me);

Remove the waiter whose proxy ref matches remove_me.

int size (void);

The number of waiters.

void dump (void) const;

Dump the state of the class.

PROTECTED MEMBERS

ACE_TPQ_Entry *head_;

Head.

ACE_TPQ_Entry *tail_;

Tail.

int size_;

Size.

AUTHOR

Karl-Heinz Dorn [email protected], Douglas C. Schmidt [email protected], and Tim Harrison [email protected]

LIBRARY

ace