ACE
6.1.2
|
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>
Public Member Functions | |
Token_Guard (ACE_Dev_Poll_Reactor_Token &token) | |
Constructor that will grab the token for us. | |
~Token_Guard (void) | |
void | release_token (void) |
Release the token .. | |
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_Token & | token_ |
The Reactor token. | |
int | owner_ |
A helper class that helps grabbing, releasing and waiting on tokens for a thread that needs access to the reactor's token.
|
inline |
Constructor that will grab the token for us.
|
inline |
Destructor. This will release the token if it hasn't been released till this point
|
private |
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.
|
inline |
Returns whether the thread that created this object owns the token or not.
|
inline |
Release the token ..
|
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.
The Reactor token.