diff options
Diffstat (limited to 'ACE/ace/Time_Value.inl')
-rw-r--r-- | ACE/ace/Time_Value.inl | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/ACE/ace/Time_Value.inl b/ACE/ace/Time_Value.inl index 73f9285ff2d..40ab4476290 100644 --- a/ACE/ace/Time_Value.inl +++ b/ACE/ace/Time_Value.inl @@ -147,13 +147,21 @@ ACE_Time_Value::msec (void) const return ACE_Utils::truncate_cast<unsigned long> (secs); } -ACE_INLINE void -ACE_Time_Value::msec (ACE_UINT64 &ms) const +ACE_INLINE ACE_UINT64 +ACE_Time_Value::get_msec () const { // ACE_OS_TRACE ("ACE_Time_Value::msec"); - ms = ACE_Utils::truncate_cast<ACE_UINT64> (this->tv_.tv_sec); + ACE_UINT64 ms = ACE_Utils::truncate_cast<ACE_UINT64> (this->tv_.tv_sec); ms *= 1000; ms += (this->tv_.tv_usec / 1000); + return ms; +} + +ACE_INLINE void +ACE_Time_Value::msec (ACE_UINT64 &ms) const +{ + // ACE_OS_TRACE ("ACE_Time_Value::msec"); + ms = this->get_msec (); } ACE_INLINE void @@ -164,6 +172,17 @@ ACE_Time_Value::msec (ACE_UINT64 &ms) /*const*/ tv->msec (ms); } +ACE_INLINE void +ACE_Time_Value::set_msec (const ACE_UINT64 &ms) +{ + // ACE_OS_TRACE ("ACE_Time_Value::msec"); + // Convert millisecond units to seconds; + ACE_UINT64 secs = ms / 1000; + this->tv_.tv_sec = static_cast<long> (secs); + // Convert remainder to microseconds; + this->tv_.tv_usec = static_cast<long>((ms - (secs * 1000)) * 1000); +} + /// Converts from milli-seconds format into Time_Value format. ACE_INLINE void ACE_Time_Value::msec (long milliseconds) |