44 , expected_cycle_time_(1.0 / frequency)
45 , actual_cycle_time_(0.0)
67 Duration sleep_time = expected_end - actual_end;
73 start_ = expected_end;
80 if (actual_end > expected_end + expected_cycle_time_)
88 return sleep_time.
sleep();
132 start_ = expected_end;
139 if (actual_end > expected_end + expected_cycle_time_)
146 return sleep_time.
sleep();
WallDuration expected_cycle_time_
Time representation. May either represent wall clock time or ROS clock time.
WallDuration cycleTime() const
Get the actual run time of a cycle from start to sleep.
Rate(double frequency)
Constructor, creates a Rate.
Duration representation for use with the WallTime class.
Time representation. Always wall-clock time.
void reset()
Sets the start time for the rate to now.
Duration expected_cycle_time_
bool sleep() const
sleep for the amount of time specified by this Duration. If a signal interrupts the sleep...
Duration cycleTime() const
Get the actual run time of a cycle from start to sleep.
bool sleep()
Sleeps for any leftover time in a cycle. Calculated from the last time sleep, reset, or the constructor was called.
Duration representation for use with the Time class.
static WallTime now()
Returns the current wall clock time.
WallDuration actual_cycle_time_
static Time now()
Retrieve the current time. If ROS clock time is in use, this returns the time according to the ROS cl...
Duration actual_cycle_time_
bool sleep() const
sleep for the amount of time specified by this Duration. If a signal interrupts the sleep...
void reset()
Sets the start time for the rate to now.
WallRate(double frequency)
Constructor, creates a Rate.
bool sleep()
Sleeps for any leftover time in a cycle. Calculated from the last time sleep, reset, or the constructor was called.