NAME

ACE_Time_Value - Operations on "timeval" structures.

SYNOPSIS

#include <ace/OS.h>

class ACE_Time_Value { public: static const ACE_Time_Value zero; static const ACE_Time_Value max_time; ACE_Time_Value (void); ACE_Time_Value (long sec, long usec = 0); ACE_Time_Value (const struct timeval &t); ACE_Time_Value (const timespec_t &t); ACE_Time_Value (const ACE_Time_Value &tv); ACE_Time_Value (const FILETIME &ft); void set (long sec, long usec); void set (double d); void set (const timeval &t); void set (const timespec_t &t); void set (const FILETIME &ft); long msec (void) const; void msec (long); operator timespec_t () const; operator timeval () const; operator const timeval *() const; operator FILETIME () const; long sec (void) const; void sec (long sec); long usec (void) const; void usec (long usec); void operator += (const ACE_Time_Value &tv); void operator -= (const ACE_Time_Value &tv); friend ACE_Export ACE_Time_Value operator + ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export ACE_Time_Value operator - ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export int operator < ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export int operator > ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export int operator <= ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export int operator >= ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export int operator == ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); friend ACE_Export int operator != ( const ACE_Time_Value &tv1, const ACE_Time_Value &tv2 ); void dump (void) const; static const DWORDLONG FILETIME_to_timval_skew; private: void normalize (void); timeval tv_; };

DESCRIPTION

This class centralizes all the time related processing in ACE. These timers are typically used in conjunction with OS mechanisms like select, poll, or cond_timedwait. ACE_Time_Value makes the use of these mechanisms portable across OS platforms,

Useful constants.

static const ACE_Time_Value zero;

static const ACE_Time_Value max_time;

Initialization methods.

ACE_Time_Value (void);

ACE_Time_Value (long sec, long usec = 0);

Methods for converting to/from various time formats.

ACE_Time_Value (const struct timeval &t);

ACE_Time_Value (const timespec_t &t);

ACE_Time_Value (const ACE_Time_Value &tv);

ACE_Time_Value (const FILETIME &ft);

void set (long sec, long usec);

void set (double d);

void set (const timeval &t);

void set (const timespec_t &t);

void set (const FILETIME &ft);

long msec (void) const;

void msec (long);

operator timespec_t () const;

operator timeval () const;

operator const timeval *() const;

operator FILETIME () const;

The following are accessor/mutator methods.

long sec (void) const;

void sec (long sec);

long usec (void) const;

void usec (long usec);

The following are arithmetic methods for operating on

Time_Values.
void operator += (const ACE_Time_Value &tv);

void operator -= (const ACE_Time_Value &tv);

friend ACE_Export ACE_Time_Value operator + (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export ACE_Time_Value operator - (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export int operator < (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export int operator > (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export int operator <= (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export int operator >= (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export int operator == (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

friend ACE_Export int operator != (
    const ACE_Time_Value &tv1,
    const ACE_Time_Value &tv2
    );

void dump (void) const;

static const DWORDLONG FILETIME_to_timval_skew;

AUTHOR

Doug Schmidt schmidt@cs.wustl.edu, Jesper S. M|ller stophph@diku.dk, and a cast of thousands...

The ACE_Sched_Priority type should be used for platform-

independent thread and process priorities, by convention. int should be used for OS-specific priorities.

typedef for the _stat data structure

Giving unique ACE scoped names for some important

RTSignal-Related constants. Becuase sometimes, different platforms use different names for these constants.

LIBRARY

ace