DESCRIPTION = 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)
#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 );
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 (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_;
};
ACE_Synch_Options (
u_long options = 0,
const ACE_Time_Value &timeout = ACE_Time_Value::zero,
const void *arg = 0
);
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 (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;