ACE_Synch_Options Class Reference

Contains the values of options used to determine the synchronous and asynchronous behavior. More...

#include <Synch_Options.h>

Collaboration diagram for ACE_Synch_Options:

Collaboration graph
[legend]
List of all members.

Public Types

 USE_REACTOR = 01
 Use the Reactor.
 USE_TIMEOUT = 02
 Interprete the Time_Value.
enum  { USE_REACTOR = 01, USE_TIMEOUT = 02 }
 Options flags for controlling synchronization. More...

Public Member Functions

 ACE_Synch_Options (unsigned long options=0, const ACE_Time_Value &timeout=ACE_Time_Value::zero, const void *arg=0)
 Initialize the Synch_Options based on parameters.
void set (unsigned long options=0, const ACE_Time_Value &timeout=ACE_Time_Value::zero, const void *arg=0)
 Initialize the Synch_Options based on parameters.
int operator[] (unsigned long option) const
 Get method for determining which options are enabled.
void operator= (unsigned long option)
 Set method for enabling certain options.
const void * arg (void) const
 Returns the "magic cookie" argument.
void arg (const void *)
 Set the "magic cookie" argument.
const ACE_Time_Valuetimeout (void) const
void timeout (const ACE_Time_Value &tv)
 Set the ACE_Time_Value.
const ACE_Time_Valuetime_value (void) const
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Static Public Attributes

static ACE_Synch_Options defaults
static ACE_Synch_Options synch
 This is the default synchronous setting.
static ACE_Synch_Options asynch
 This is the default asynchronous setting.

Private Attributes

unsigned long options_
 Keeps track of the enabled options.
ACE_Time_Value timeout_
 Amount of time to wait for timeouts.
const void * arg_

Detailed Description

Contains the values of options used to determine the synchronous and asynchronous behavior.

Values support the following behavior (TV == "timeout" and UR == "use ACE_Reactor"):

| Parameters | Description | |TV | UR | |-----|----------|------------------------------- | | |NULL | yes | infinite timeout (using ACE_Reactor) | | |time | yes | try asynch transaction for | | the specified time (using ACE_Reactor) | | |0,0 | yes | poll; try, if EWOULDBLOCK, | | then return immediately | | (using ACE_Reactor) | | |NULL | no | block forever (don't use ACE_Reactor) | | |time | no | do a blocking transaction | | for the specified time | | (don't use ACE_Reactor) | | |0,0 | no | poll; but do not initiate a | | nonblocking transaction | | (don't use ACE_Reactor)


Member Enumeration Documentation

anonymous enum

Options flags for controlling synchronization.

Note that these flags can be bit-wise "or'd" together if both options are desired.

Enumerator:
USE_REACTOR  Use the Reactor.
USE_TIMEOUT  Interprete the Time_Value.


Constructor & Destructor Documentation

ACE_Synch_Options::ACE_Synch_Options ( unsigned long  options = 0,
const ACE_Time_Value timeout = ACE_Time_Value::zero,
const void *  arg = 0 
)

Initialize the Synch_Options based on parameters.


Member Function Documentation

void ACE_Synch_Options::arg ( const void *   ) 

Set the "magic cookie" argument.

const void * ACE_Synch_Options::arg ( void   )  const

Returns the "magic cookie" argument.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Synch_Options::dump ( void   )  const

Dump the state of an object.

void ACE_Synch_Options::operator= ( unsigned long  option  ) 

Set method for enabling certain options.

int ACE_Synch_Options::operator[] ( unsigned long  option  )  const

Get method for determining which options are enabled.

void ACE_Synch_Options::set ( unsigned long  options = 0,
const ACE_Time_Value timeout = ACE_Time_Value::zero,
const void *  arg = 0 
)

Initialize the Synch_Options based on parameters.

const ACE_Time_Value * ACE_Synch_Options::time_value ( void   )  const

Returns the address of the timeout <Time_Value> if (*this)[USE_TIMEOUT] is true, else 0. This should be used with care, e.g., the timeout pointer should not be stored in a manner that will lead to dangling pointers...

void ACE_Synch_Options::timeout ( const ACE_Time_Value tv  ) 

Set the ACE_Time_Value.

const ACE_Time_Value & ACE_Synch_Options::timeout ( void   )  const

Returns a reference to the ACE_Time_Value. This value only makes sense if (*this)[USE_TIMEOUT] is true.


Member Data Documentation

ACE_Synch_Options::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

const void* ACE_Synch_Options::arg_ [private]

"Magic cookie" always passed in as an argument to the ACE_Reactor's <schedule_timer> method. Used to communicate values for asynchronous programming.

ACE_Synch_Options ACE_Synch_Options::asynch [static]

This is the default asynchronous setting.

ACE_Synch_Options ACE_Synch_Options::defaults [static]

This is the default setting for options, which will block synchronously.

unsigned long ACE_Synch_Options::options_ [private]

Keeps track of the enabled options.

ACE_Synch_Options ACE_Synch_Options::synch [static]

This is the default synchronous setting.

ACE_Time_Value ACE_Synch_Options::timeout_ [private]

Amount of time to wait for timeouts.


The documentation for this class was generated from the following files:
Generated on Sun Jul 9 09:26:08 2006 for ACE by  doxygen 1.4.7-1