OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <TimeDuration.h>
Public Member Functions | |
TimeDuration () | |
TimeDuration (const TimeDuration &other) | |
TimeDuration (const ACE_Time_Value &ace_time_value) | |
TimeDuration (time_t sec, suseconds_t usec=0) | |
TimeDuration (const DDS::Duration_t &dds_duration) | |
const ACE_Time_Value & | value () const |
void | value (const ACE_Time_Value &ace_time_value) |
bool | is_zero () const |
bool | is_max () const |
DDS::Duration_t | to_dds_duration () const |
bool | boolean_test () const |
String | str (unsigned decimal_places=3, bool just_sec=false) const |
String | sec_str (unsigned decimal_places=3) const |
TimeDuration & | operator+= (const TimeDuration &other) |
TimeDuration & | operator-= (const TimeDuration &other) |
TimeDuration & | operator= (const TimeDuration &other) |
TimeDuration & | operator= (const time_t &other) |
TimeDuration & | operator*= (double other) |
TimeDuration & | operator/= (double other) |
![]() | |
operator BoolType () const | |
![]() | |
void | this_type_does_not_support_comparisons () const |
Static Public Member Functions | |
static TimeDuration | from_msec (const ACE_UINT64 &ms) |
static TimeDuration | from_double (double duration) |
Static Public Attributes | |
static const TimeDuration | zero_value |
static const TimeDuration | max_value |
Protected Attributes | |
ACE_Time_Value | value_ |
Additional Inherited Members | |
![]() | |
typedef void(SafeBoolBase::* | BoolType) () const |
![]() | |
~SafeBool_T () | |
![]() | |
SafeBoolBase () | |
SafeBoolBase (const SafeBoolBase &) | |
SafeBoolBase & | operator= (const SafeBoolBase &) |
~SafeBoolBase () | |
Represents a length of time and based on C++11 std::chrono::duration.
This wraps an ACE_Time_Value, and is designed to work with TimePoint_T.
See https://opendds.readthedocs.io/en/master/internal/dev_guidelines.html#time (or docs/internal/dev_guidelines.rst) for background and reasoning for this class.
Definition at line 29 of file TimeDuration.h.
ACE_INLINE OpenDDS::DCPS::TimeDuration::TimeDuration | ( | ) |
Initialized to zero
Definition at line 29 of file TimeDuration.inl.
References ACE_INLINE.
Referenced by from_double(), from_msec(), OpenDDS::DCPS::operator*(), OpenDDS::DCPS::operator+(), OpenDDS::DCPS::operator-(), and OpenDDS::DCPS::operator/().
ACE_INLINE OpenDDS::DCPS::TimeDuration::TimeDuration | ( | const TimeDuration & | other | ) |
|
explicit |
Copy the ACE_Time_Value directly.
Definition at line 41 of file TimeDuration.inl.
References ACE_INLINE.
|
explicit |
Define the number of seconds and optionally microseconds, passed to ACE_Time_Value's constructor of the same signature.
Definition at line 47 of file TimeDuration.inl.
References ACE_INLINE.
|
explicit |
Converts the DDS Duration into the equivalent value.
Definition at line 53 of file TimeDuration.inl.
References ACE_INLINE.
|
inline |
Definition at line 77 of file TimeDuration.h.
References value(), and value_.
|
static |
Return a TimeDuration from fractional seconds.
Definition at line 21 of file TimeDuration.inl.
References ACE_INLINE, ACE_Time_Value::set(), and TimeDuration().
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config().
|
static |
Return a TimeDuration equivalent to the given number of milliseconds.
Definition at line 12 of file TimeDuration.inl.
References ACE_INLINE, ACE_Time_Value::set_msec(), and TimeDuration().
Referenced by OpenDDS::DCPS::DataLink::DataLink(), OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config(), OpenDDS::DCPS::TransportClient::enable_transport_using_config(), OpenDDS::DCPS::ReliableSession::expire_naks(), OpenDDS::DCPS::instance_handle_to_bit_data(), OpenDDS::DCPS::MulticastInst::MulticastInst(), OpenDDS::DCPS::ReliableSession::nak_delay(), OpenDDS::DCPS::TcpConnection::passive_reconnect_i(), and OpenDDS::DCPS::TcpSynchResource::TcpSynchResource().
ACE_INLINE bool OpenDDS::DCPS::TimeDuration::is_max | ( | ) | const |
Definition at line 81 of file TimeDuration.inl.
References ACE_INLINE, and max_value.
Referenced by OpenDDS::DCPS::DomainParticipantImpl::LivelinessTimer::execute().
ACE_INLINE bool OpenDDS::DCPS::TimeDuration::is_zero | ( | ) | const |
Definition at line 74 of file TimeDuration.inl.
References ACE_INLINE, and zero_value.
Referenced by OpenDDS::DCPS::DomainParticipantImpl::await_handle(), OpenDDS::DCPS::DataDurabilityCache::insert(), OpenDDS::DCPS::Service_Participant::new_pending_timeout_deadline(), OpenDDS::DCPS::DataReaderImpl::time_based_filter_instance(), OpenDDS::DCPS::DataReaderImpl::transport_assoc_done(), OpenDDS::DCPS::TcpTransport::unbind_link(), OpenDDS::DCPS::ThreadStatusManager::Thread::utilization(), and OpenDDS::DCPS::ConditionVariable< ACE_Thread_Mutex >::wait_for().
ACE_INLINE TimeDuration & OpenDDS::DCPS::TimeDuration::operator*= | ( | double | other | ) |
ACE_INLINE TimeDuration & OpenDDS::DCPS::TimeDuration::operator+= | ( | const TimeDuration & | other | ) |
ACE_INLINE TimeDuration & OpenDDS::DCPS::TimeDuration::operator-= | ( | const TimeDuration & | other | ) |
ACE_INLINE TimeDuration & OpenDDS::DCPS::TimeDuration::operator/= | ( | double | other | ) |
ACE_INLINE TimeDuration & OpenDDS::DCPS::TimeDuration::operator= | ( | const TimeDuration & | other | ) |
ACE_INLINE TimeDuration & OpenDDS::DCPS::TimeDuration::operator= | ( | const time_t & | other | ) |
|
inline |
Definition at line 93 of file TimeDuration.h.
References OpenDDS::DCPS::operator+=().
String OpenDDS::DCPS::TimeDuration::str | ( | unsigned | decimal_places = 3 , |
bool | just_sec = false |
||
) | const |
Convert to a string in a humanized format: SECONDS.FRACTIONAL s if the time is less than a minute or just_sec is true, else: [[HOURS:]MINUTES:]SECONDS.FRACTIONAL
decimal_places is the number of decimal places to round to in the fractional seconds.
Definition at line 54 of file TimeDuration.cpp.
References OPENDDS_END_VERSIONED_NAMESPACE_DECL, ACE_Time_Value::sec(), OpenDDS::DCPS::to_dds_string(), ACE_Time_Value::usec(), and value().
Referenced by OpenDDS::DCPS::ShmemInst::dump_to_str(), OpenDDS::DCPS::RtpsUdpInst::dump_to_str(), OpenDDS::DCPS::TransportInst::dump_to_str(), OpenDDS::DCPS::MulticastInst::dump_to_str(), OpenDDS::RTPS::Spdp::handle_participant_data(), OpenDDS::DCPS::DataReaderImpl::process_latency(), and OpenDDS::DCPS::TcpTransport::release_datalink().
ACE_INLINE DDS::Duration_t OpenDDS::DCPS::TimeDuration::to_dds_duration | ( | ) | const |
Definition at line 88 of file TimeDuration.inl.
References ACE_INLINE, OpenDDS::DCPS::time_value_to_duration(), and value().
Referenced by OpenDDS::DCPS::RtpsUdpTransport::disable_relay_stun_task(), OpenDDS::RTPS::Spdp::SpdpTransport::disable_relay_stun_task(), OpenDDS::DCPS::RtpsUdpTransport::process_relay_sra(), and OpenDDS::RTPS::Spdp::SpdpTransport::process_relay_sra().
ACE_INLINE const ACE_Time_Value & OpenDDS::DCPS::TimeDuration::value | ( | void | ) | const |
Definition at line 60 of file TimeDuration.inl.
References ACE_INLINE, and value_.
Referenced by OpenDDS::DCPS::WriterStats::add_stat(), boolean_test(), OpenDDS::RTPS::Spdp::build_local_pdata(), OpenDDS::DCPS::DataReaderImpl::LivelinessTimer::check_liveliness_i(), OpenDDS::DCPS::DataWriterImpl::enable(), OpenDDS::DCPS::PeriodicTask::enable_i(), OpenDDS::DCPS::MultiTask::enable_i(), OpenDDS::ICE::ScheduleTimerCommand::execute(), OpenDDS::DCPS::SporadicTask::execute_i(), OpenDDS::DCPS::DataReaderImpl::filter_sample(), OpenDDS::DCPS::DomainParticipantImpl::find_topic(), OpenDDS::DCPS::DataLink::handle_exception(), OpenDDS::RTPS::Spdp::handle_participant_data(), OpenDDS::DCPS::DataWriterImpl::handle_timeout(), OpenDDS::DCPS::Service_Participant::initializeScheduling(), OpenDDS::DCPS::DataDurabilityCache::insert(), OpenDDS::DCPS::UdpDataLink::open(), OpenDDS::DCPS::operator!=(), OpenDDS::DCPS::operator*(), OpenDDS::DCPS::operator+(), operator+=(), OpenDDS::DCPS::TimePoint_T< SystemClock >::operator+=(), OpenDDS::DCPS::operator-(), operator-=(), OpenDDS::DCPS::TimePoint_T< SystemClock >::operator-=(), OpenDDS::DCPS::operator/(), OpenDDS::DCPS::operator<(), OpenDDS::DCPS::operator<=(), operator=(), OpenDDS::DCPS::operator==(), OpenDDS::DCPS::operator>(), OpenDDS::DCPS::operator>=(), OpenDDS::DCPS::TcpConnection::passive_reconnect_i(), OpenDDS::DCPS::resend_data_expired(), str(), to_dds_duration(), and OpenDDS::DCPS::ThreadSynchResource::wait_to_unclog().
ACE_INLINE void OpenDDS::DCPS::TimeDuration::value | ( | const ACE_Time_Value & | ace_time_value | ) |
|
static |
Definition at line 32 of file TimeDuration.h.
Referenced by OpenDDS::DCPS::WriteDataContainer::cancel_deadline(), OpenDDS::DCPS::WriteDataContainer::extend_deadline(), is_max(), OpenDDS::DCPS::PublisherImpl::liveliness_check_interval(), OpenDDS::DCPS::DataWriterImpl::liveliness_check_interval(), OpenDDS::DCPS::DomainParticipantImpl::liveliness_check_interval(), OpenDDS::RTPS::rtps_duration_to_time_duration(), and OpenDDS::DCPS::WriteDataContainer::set_deadline_period().
|
protected |
Definition at line 106 of file TimeDuration.h.
Referenced by operator*=(), operator+=(), operator-=(), operator/=(), operator=(), and value().
|
static |
Definition at line 31 of file TimeDuration.h.
Referenced by OpenDDS::RTPS::Spdp::attempt_authentication(), OpenDDS::DCPS::RtpsUdpTransport::configure_i(), OpenDDS::DCPS::RtpsUdpTransport::disable_relay_stun_task(), OpenDDS::RTPS::Spdp::SpdpTransport::disable_relay_stun_task(), OpenDDS::DCPS::RtpsUdpDataLink::disable_response_queue(), OpenDDS::RTPS::Spdp::SpdpTransport::enable_periodic_tasks(), OpenDDS::RTPS::Spdp::handle_participant_data(), is_zero(), OpenDDS::DCPS::RtpsUdpTransport::make_datalink(), OpenDDS::DCPS::operator-(), OpenDDS::DCPS::TcpConnection::passive_reconnect_i(), OpenDDS::DCPS::RtpsUdpTransport::process_relay_sra(), OpenDDS::RTPS::Spdp::SpdpTransport::process_relay_sra(), OpenDDS::DCPS::TcpTransport::release_datalink(), OpenDDS::DCPS::RtpsUdpTransport::rtps_relay_address_change(), OpenDDS::DCPS::RtpsUdpTransport::rtps_relay_only_now(), OpenDDS::RTPS::Spdp::rtps_relay_only_now(), OpenDDS::RTPS::Spdp::spdp_rtps_relay_address_change(), OpenDDS::RTPS::Spdp::update_rtps_relay_application_participant_i(), OpenDDS::DCPS::ThreadStatusManager::update_thread_status(), OpenDDS::DCPS::RtpsUdpTransport::use_rtps_relay_now(), OpenDDS::RTPS::Spdp::use_rtps_relay_now(), and OpenDDS::DCPS::ThreadStatusManager::Thread::utilization().