123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- #ifndef _FASTDDS_RTPS_RESOURCES_TIMEDEVENT_H_
- #define _FASTDDS_RTPS_RESOURCES_TIMEDEVENT_H_
- #ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
- #include <fastdds/rtps/common/Time_t.h>
- #include <thread>
- #include <functional>
- #include <cstdint>
- namespace eprosima {
- namespace fastrtps {
- namespace rtps {
- class TimedEventImpl;
- class ResourceEvent;
- class TimedEvent
- {
- public:
-
- TimedEvent(
- ResourceEvent& service,
- std::function<bool()> callback,
- double milliseconds);
-
- virtual ~TimedEvent();
-
- void cancel_timer();
-
- void restart_timer();
-
- void restart_timer(
- const std::chrono::steady_clock::time_point& timeout);
-
- bool update_interval(
- const Duration_t& inter);
-
- bool update_interval_millisec(
- double time_millisec);
-
- double getIntervalMilliSec();
-
- double getRemainingTimeMilliSec();
- private:
- ResourceEvent& service_;
- TimedEventImpl* impl_;
- };
- }
- }
- }
- #endif
- #endif
|