Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ACE_TP_Token_Guard Class Reference

A helper class that helps grabbing, releasing and waiting on tokens for a thread that tries calling handle_events (). More...

#include <TP_Reactor.h>

Collaboration diagram for ACE_TP_Token_Guard:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_TP_Token_Guard (ACE_Select_Reactor_Token &token)
 Constructor that will grab the token for us.

 ~ACE_TP_Token_Guard (void)
void release_token (void)
 Release the token ..

int is_owner (void)
int grab_token (ACE_Time_Value *max_wait_time=0)
int acquire_token (ACE_Time_Value *max_wait_time=0)

Private Methods

 ACE_TP_Token_Guard (void)

Private Attributes

ACE_Select_Reactor_Tokentoken_
 The Select Reactor token.

int owner_

Detailed Description

A helper class that helps grabbing, releasing and waiting on tokens for a thread that tries calling handle_events ().

In short, this class will be owned by one thread by creating on the stack. This class gives the status of the ownership of the token and manages the ownership


Constructor & Destructor Documentation

ACE_INLINE ACE_TP_Token_Guard::ACE_TP_Token_Guard ACE_Select_Reactor_Token   token
 

Constructor that will grab the token for us.

ACE_INLINE ACE_TP_Token_Guard::~ACE_TP_Token_Guard void   
 

Destructor. This will release the token if it hasnt been released till this point

ACE_TP_Token_Guard::ACE_TP_Token_Guard void    [private]
 


Member Function Documentation

int ACE_TP_Token_Guard::acquire_token ACE_Time_Value   max_wait_time = 0
 

A helper method that grabs the token for us, after which the thread that owns that can do some actual work. This differs from grab_token () as it uses acquire () to get the token instead of acquire_read ()

int ACE_TP_Token_Guard::grab_token ACE_Time_Value   max_wait_time = 0
 

A helper method that grabs the token for us, after which the thread that owns that can do some actual work.

Todo:
Should probably be called acquire_read_token ()

ACE_INLINE int ACE_TP_Token_Guard::is_owner void   
 

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

ACE_INLINE void ACE_TP_Token_Guard::release_token void   
 

Release the token ..


Member Data Documentation

int ACE_TP_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 hasnt got the token (and hence the thread) and a value of 1 vice-versa.

ACE_Select_Reactor_Token& ACE_TP_Token_Guard::token_ [private]
 

The Select Reactor token.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 16:55:10 2004 for ACE by doxygen1.2.18