#include <ace/ACE_Synch_Options.h>
class ACE_Synch_Options {
public:
enum{ USE_REACTOR = 01, USE_TIMEOUT = 02 };
ACE_Synch_Options ( u_long options = 0, const ACE_Time_Value &timeout = ACE_Time_Value::zero, const void *arg = 0 );
~ACE_Synch_Options (void);
void set ( u_long options = 0, const ACE_Time_Value &timeout = ACE_Time_Value::zero, const void *arg = 0 );
int operator[] (u_long option) const;
void operator= (u_long option);
const void *arg (void) const;
void arg (const void *);
const ACE_Time_Value &timeout (void) const;
void timeout (const ACE_Time_Value &tv);
const ACE_Time_Value *time_value (void) const;
static ACE_Synch_Options defaults;
static ACE_Synch_Options synch;
static ACE_Synch_Options asynch;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
private:
u_long options_;
ACE_Time_Value timeout_;
const void *arg_;
};
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)
ACE_Synch_Options (
u_long options = 0,
const ACE_Time_Value &timeout = ACE_Time_Value::zero,
const void *arg = 0
);
~ACE_Synch_Options (void);
void set (
u_long options = 0,
const ACE_Time_Value &timeout = ACE_Time_Value::zero,
const void *arg = 0
);
int operator[] (u_long option) const;
void operator= (u_long option);
const void *arg (void) const;
void arg (const void *);
const ACE_Time_Value &timeout (void) const;
Time_Value
. This value only makes
sense if (*this)[USE_TIMEOUT] is true.
void timeout (const ACE_Time_Value &tv);
Time_Value
.
const ACE_Time_Value *time_value (void) const;
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...
static ACE_Synch_Options defaults;
static ACE_Synch_Options synch;
static ACE_Synch_Options asynch;
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;