ACE  6.1.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ACE_Dev_Poll_Reactor::Token_Guard Class Reference

A helper class that helps grabbing, releasing and waiting on tokens for a thread that needs access to the reactor's token. More...

#include <Dev_Poll_Reactor.h>

Collaboration diagram for ACE_Dev_Poll_Reactor::Token_Guard:
Collaboration graph
[legend]

Public Member Functions

 Token_Guard (ACE_Dev_Poll_Reactor_Token &token)
 Constructor that will grab the token for us. More...
 
 ~Token_Guard (void)
 
void release_token (void)
 Release the token .. More...
 
int is_owner (void)
 
int acquire_quietly (ACE_Time_Value *max_wait=0)
 
int acquire (ACE_Time_Value *max_wait=0)
 

Private Member Functions

 Token_Guard (void)
 

Private Attributes

ACE_Dev_Poll_Reactor_Tokentoken_
 The Reactor token. More...
 
int owner_
 

Detailed Description

A helper class that helps grabbing, releasing and waiting on tokens for a thread that needs access to the reactor's token.

Constructor & Destructor Documentation

ACE_Dev_Poll_Reactor::Token_Guard::Token_Guard ( ACE_Dev_Poll_Reactor_Token token)
inline

Constructor that will grab the token for us.

ACE_Dev_Poll_Reactor::Token_Guard::~Token_Guard ( void  )
inline

Destructor. This will release the token if it hasn't been released till this point

ACE_Dev_Poll_Reactor::Token_Guard::Token_Guard ( void  )
private

Member Function Documentation

int ACE_Dev_Poll_Reactor::Token_Guard::acquire ( ACE_Time_Value max_wait = 0)

A helper method that acquires the token at a high priority, and does wake the current token holder.

int ACE_Dev_Poll_Reactor::Token_Guard::acquire_quietly ( ACE_Time_Value max_wait = 0)

A helper method that acquires the token 1) at a low priority, and 2) wait quietly for the token, not waking another thread. This is appropriate for cases where a thread wants to wait for and dispatch an event, not causing an existing waiter to relinquish the token, and also queuing up behind other threads waiting to modify event records.

int ACE_Dev_Poll_Reactor::Token_Guard::is_owner ( void  )
inline

Returns whether the thread that created this object owns the token or not.

void ACE_Dev_Poll_Reactor::Token_Guard::release_token ( void  )
inline

Release the token ..

Member Data Documentation

int ACE_Dev_Poll_Reactor::Token_Guard::owner_
private

Flag that indicate whether the thread that created this object owns the token or not. A value of 0 indicates that this class hasn't got the token (and hence the thread) and a value of 1 vice-versa.

ACE_Dev_Poll_Reactor_Token& ACE_Dev_Poll_Reactor::Token_Guard::token_
private

The Reactor token.


The documentation for this class was generated from the following files: