ACE  6.1.0
Public Member Functions | Protected Attributes | Friends
ACE_Token_Proxy_Queue Class Reference

Token waiter list. More...

#include <Local_Tokens.h>

Collaboration diagram for ACE_Token_Proxy_Queue:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Token_Proxy_Queue (void)
 Constructor.
 ~ACE_Token_Proxy_Queue (void)
 Destructor.
void enqueue (ACE_TPQ_Entry *new_entry, int position)
const ACE_TPQ_Entryhead (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 Attributes

ACE_TPQ_Entryhead_
 Head.
ACE_TPQ_Entrytail_
 Tail.
int size_
 Size.

Friends

class ACE_TPQ_Iterator

Detailed Description

Token waiter list.

Not a public interface. This queue holds all the token proxies waiting for ownership of a token. Along with the proxy reference, it also stores the nesting level, client id, and a magic cookie from the proxy. This queue stores the ACE_TPQ_Entries by pointer values. It DOES NOT make copies. Thus, the user is responsible to ensure that the TPQ's stick around. This is motivated by the need to reduce dynamic memory allocation.


Constructor & Destructor Documentation

ACE_Token_Proxy_Queue::ACE_Token_Proxy_Queue ( void  )

Constructor.

ACE_Token_Proxy_Queue::~ACE_Token_Proxy_Queue ( void  ) [inline]

Destructor.


Member Function Documentation

void ACE_Token_Proxy_Queue::dequeue ( void  )

Remove the top waiter.

void ACE_Token_Proxy_Queue::dump ( void  ) const

Dump the state of the class.

void ACE_Token_Proxy_Queue::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 * ACE_Token_Proxy_Queue::head ( void  ) [inline]

Top of the queue.

void ACE_Token_Proxy_Queue::remove ( const ACE_TPQ_Entry remove_me)

Remove the waiter whose proxy ref matches remove_me.

int ACE_Token_Proxy_Queue::size ( void  ) [inline]

The number of waiters.


Friends And Related Function Documentation

friend class ACE_TPQ_Iterator [friend]

Member Data Documentation

Head.

Size.

Tail.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines