ACE
6.3.3
|
Operations on "timeval" structures, which express time in seconds (secs) and microseconds (usecs). More...
#include <Time_Value_T.h>
Public Member Functions | |
ACE_Time_Value (void) | |
Default Constructor. More... | |
ACE_Time_Value (time_t sec, suseconds_t usec=0) | |
Constructor. More... | |
ACE_Time_Value (const struct timeval &t) | |
Construct the ACE_Time_Value from a timeval. More... | |
ACE_Time_Value (const timespec_t &t) | |
Construct the ACE_Time_Value object from a timespec_t. More... | |
virtual | ~ACE_Time_Value () |
Destructor. More... | |
ACE_Time_Value (const FILETIME &ft) | |
Construct the ACE_Time_Value object from a Win32 FILETIME. More... | |
void | set (time_t sec, suseconds_t usec) |
Initializes the ACE_Time_Value from seconds and useconds. More... | |
void | set (double d) |
void | set (const timeval &t) |
Initializes the ACE_Time_Value from a timeval. More... | |
void | set (const timespec_t &t) |
Initializes the ACE_Time_Value object from a timespec_t. More... | |
void | set (const FILETIME &ft) |
Initializes the ACE_Time_Value object from a Win32 FILETIME. More... | |
unsigned long | msec (void) const |
Converts from ACE_Time_Value format into milliseconds format. More... | |
ACE_UINT64 | get_msec () const |
Converts from ACE_Time_Value format into milliseconds format. More... | |
void | msec (ACE_UINT64 &ms) const |
Converts from ACE_Time_Value format into milliseconds format. More... | |
void | msec (ACE_UINT64 &ms) |
Converts from ACE_Time_Value format into milliseconds format. More... | |
void | set_msec (const ACE_UINT64 &ms) |
Converts from milli-seconds format into ACE_Time_Value format. More... | |
void | msec (long) |
Converts from milli-seconds format into ACE_Time_Value format. More... | |
void | msec (int) |
Converts from milli-seconds format into ACE_Time_Value format. More... | |
operator timespec_t () const | |
Returns the value of the object as a timespec_t. More... | |
operator timeval () const | |
Returns the value of the object as a timeval. More... | |
operator const timeval * () const | |
Returns a pointer to the object as a timeval. More... | |
operator FILETIME () const | |
Returns the value of the object as a Win32 FILETIME. More... | |
time_t | sec (void) const |
Get seconds. More... | |
void | sec (time_t sec) |
Set seconds. More... | |
suseconds_t | usec (void) const |
Get microseconds. More... | |
void | usec (suseconds_t usec) |
Set microseconds. More... | |
void | to_usec (ACE_UINT64 &usec) const |
ACE_Time_Value & | operator+= (const ACE_Time_Value &tv) |
Add tv to this. More... | |
ACE_Time_Value & | operator+= (time_t tv) |
Add tv to this. More... | |
ACE_Time_Value & | operator= (const ACE_Time_Value &tv) |
Assign tv to this. More... | |
ACE_Time_Value & | operator= (time_t tv) |
Assign tv to this. More... | |
ACE_Time_Value & | operator-= (const ACE_Time_Value &tv) |
Subtract tv to this. More... | |
ACE_Time_Value & | operator-= (time_t tv) |
Subtract tv to this. More... | |
ACE_Time_Value & | operator*= (double d) |
Multiply the time value by the d factor. More... | |
ACE_Time_Value | operator++ (int) |
Increment microseconds as postfix. More... | |
ACE_Time_Value & | operator++ (void) |
Increment microseconds as prefix. More... | |
ACE_Time_Value | operator-- (int) |
Decrement microseconds as postfix. More... | |
ACE_Time_Value & | operator-- (void) |
Decrement microseconds as prefix. More... | |
virtual ACE_Time_Value | now () const |
Get current time of day. More... | |
virtual ACE_Time_Value | to_relative_time () const |
Converts absolute time value to time value relative to current time of day. More... | |
virtual ACE_Time_Value | to_absolute_time () const |
Converts relative time value to absolute time value based on current time of day. More... | |
virtual ACE_Time_Value * | duplicate () const |
Duplicates this time value (incl. time policy). More... | |
void | dump (void) const |
Dump is a no-op. More... | |
Static Public Attributes | |
static const ACE_Time_Value | zero |
Constant "0". More... | |
static const ACE_Time_Value | max_time |
static const DWORDLONG | FILETIME_to_timval_skew |
Const time difference between FILETIME and POSIX time. More... | |
Private Member Functions | |
void | normalize (bool saturate=false) |
Put the timevalue into a canonical form. More... | |
Private Attributes | |
timeval | tv_ |
Store the values as a timeval. More... | |
Friends | |
ACE_Time_Value | operator+ (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
Adds two ACE_Time_Value objects together, returns the sum. More... | |
ACE_Time_Value | operator- (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
Subtracts two ACE_Time_Value objects, returns the difference. More... | |
bool | operator< (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
True if tv1 < tv2. More... | |
bool | operator> (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
True if tv1 > tv2. More... | |
bool | operator<= (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
True if tv1 <= tv2. More... | |
bool | operator>= (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
True if tv1 >= tv2. More... | |
bool | operator== (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
True if tv1 == tv2. More... | |
bool | operator!= (const ACE_Time_Value &tv1, const ACE_Time_Value &tv2) |
True if tv1 != tv2. More... | |
ACE_Time_Value | operator* (double d, const ACE_Time_Value &tv) |
Multiplies the time value by d. More... | |
ACE_Time_Value | operator* (const ACE_Time_Value &tv, double d) |
Multiplies the time value by d. More... | |
Operations on "timeval" structures, which express time in seconds (secs) and microseconds (usecs).
This class centralizes all the time related processing in ACE. These time values are typically used in conjunction with OS mechanisms like <select>, <poll>, or <cond_timedwait>.
|
inline |
Default Constructor.
|
inlineexplicit |
Constructor.
|
inlineexplicit |
Construct the ACE_Time_Value from a timeval.
|
inlineexplicit |
Construct the ACE_Time_Value object from a timespec_t.
Initializes the ACE_Time_Value object from a timespec_t.
|
virtual |
Destructor.
|
explicit |
Construct the ACE_Time_Value object from a Win32 FILETIME.
Initializes the ACE_Time_Value object from a Win32 FILETIME.
void ACE_Time_Value::dump | ( | void | ) | const |
Dump is a no-op.
The dump() method is a no-op. It's here for backwards compatibility only, but does not dump anything. Invoking logging methods here violates layering restrictions in ACE because this class is part of the OS layer and ACE_Log_Msg
is at a higher level.
|
virtual |
Duplicates this time value (incl. time policy).
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.
|
inline |
Converts from ACE_Time_Value format into milliseconds format.
|
inline |
Converts from ACE_Time_Value format into milliseconds format.
Converts from Time_Value format into milli-seconds format.
|
inline |
Converts from ACE_Time_Value format into milliseconds format.
ms | parameter. |
|
inline |
Converts from ACE_Time_Value format into milliseconds format.
ms | parameter. |
|
inline |
Converts from milli-seconds format into ACE_Time_Value format.
Converts from milli-seconds format into Time_Value format.
|
inline |
Converts from milli-seconds format into ACE_Time_Value format.
Converts from milli-seconds format into Time_Value format.
|
private |
|
virtual |
Get current time of day.
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.
|
inline |
Returns a pointer to the object as a timeval.
ACE_Time_Value::operator FILETIME | ( | ) | const |
Returns the value of the object as a Win32 FILETIME.
|
inline |
Returns the value of the object as a timespec_t.
|
inline |
Returns the value of the object as a timeval.
ACE_Time_Value & ACE_Time_Value::operator*= | ( | double | d | ) |
Multiply the time value by the d factor.
ACE_Time_Value ACE_Time_Value::operator++ | ( | int | ) |
Increment microseconds as postfix.
Increment microseconds (the only reason this is here is to allow the use of ACE_Atomic_Op with ACE_Time_Value).
ACE_Time_Value & ACE_Time_Value::operator++ | ( | void | ) |
Increment microseconds as prefix.
|
inline |
Add tv to this.
Add TV to this.
|
inline |
Add tv to this.
ACE_Time_Value ACE_Time_Value::operator-- | ( | int | ) |
Decrement microseconds as postfix.
Decrement microseconds (the only reason this is here is / to allow the use of ACE_Atomic_Op with ACE_Time_Value).
ACE_Time_Value & ACE_Time_Value::operator-- | ( | void | ) |
Decrement microseconds as prefix.
|
inline |
Subtract tv to this.
Subtract TV to this.
|
inline |
Subtract tv to this.
|
inline |
Assign tv to this.
|
inline |
Assign tv to this.
|
inline |
Get seconds.
Returns number of seconds.
|
inline |
Set seconds.
Sets the number of seconds.
|
inline |
Initializes the ACE_Time_Value from seconds and useconds.
|
inline |
Initializes the ACE_Time_Value from a double, which is assumed to be in second format, with any remainder treated as microseconds.
|
inline |
Initializes the ACE_Time_Value from a timeval.
|
inline |
Initializes the ACE_Time_Value object from a timespec_t.
Initializes a timespec_t. Note that this approach loses precision since it converts the nano-seconds into micro-seconds. But then again, do any real systems have nano-second timer precision?!
void ACE_Time_Value::set | ( | const FILETIME & | ft | ) |
Initializes the ACE_Time_Value object from a Win32 FILETIME.
|
inline |
Converts from milli-seconds format into ACE_Time_Value format.
|
virtual |
Converts relative time value to absolute time value based on current time of day.
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.
|
virtual |
Converts absolute time value to time value relative to current time of day.
Reimplemented in ACE_Time_Value_T< TIME_POLICY >.
|
inline |
usec | parameter. |
|
inline |
Get microseconds.
Returns number of micro-seconds.
|
inline |
Set microseconds.
Sets the number of micro-seconds.
|
friend |
True if tv1 != tv2.
|
friend |
Multiplies the time value by d.
|
friend |
Multiplies the time value by d.
|
friend |
Adds two ACE_Time_Value objects together, returns the sum.
|
friend |
Subtracts two ACE_Time_Value objects, returns the difference.
|
friend |
True if tv1 < tv2.
|
friend |
True if tv1 <= tv2.
|
friend |
True if tv1 == tv2.
|
friend |
True if tv1 > tv2.
|
friend |
True if tv1 >= tv2.
|
static |
Const time difference between FILETIME and POSIX time.
Static constant to remove time skew between FILETIME and POSIX time. POSIX and Win32 use different epochs (Jan. 1, 1970 v.s. Jan. 1, 1601). The following constant defines the difference in 100ns ticks.
In the beginning (Jan. 1, 1601), there was no time and no computer. And Bill said: "Let there be time," and there was time....
|
static |
Constant for maximum time representable. Note that this time is not intended for use with <select> or other calls that may have their own implementation-specific maximum time representations. Its primary use is in time computations such as those used by the dynamic subpriority strategies in the ACE_Dynamic_Message_Queue class.
Constant for maximum time representable. Note that this time is not intended for use with select () or other calls that may have their own implementation-specific maximum time representations. Its primary use is in time computations such as those used by the dynamic subpriority strategies in the ACE_Dynamic_Message_Queue class. Note: this object requires static construction.
|
private |
Store the values as a timeval.
|
static |
Constant "0".
Static constant representing `zero-time'. Note: this object requires static construction.