#include <fastmm/sim/param_schedule.hpp>
◆ at()
Delivers m at ts; updates with the same time keep the order they were added in.
◆ set_delay()
| void fastmm::sim::ParamSchedule::set_delay |
( |
Duration |
d | ) |
|
|
inlinenoexcept |
Added to the time of updates that arrive through sink() (the slow tier's delay).
◆ delay()
| Duration fastmm::sim::ParamSchedule::delay |
( |
| ) |
const |
|
inlinenoexcept |
◆ sink()
◆ threaded_sink()
Like sink(), for a schedule that other threads publish to as well: an update from the thread that called threaded_sink() (the thread that runs the SimDriver) is delivered delay() after clock's time; one from another thread goes to the inbox (post()).
◆ post()
Any thread: holds m until the next collect().
◆ collect()
| void fastmm::sim::ParamSchedule::collect |
( |
| ) |
|
|
inline |
Driver thread: schedules the posted updates delay() after the clock's time (the clock passed to sink() or threaded_sink()).
Cheap when nothing was posted.
◆ empty()
| bool fastmm::sim::ParamSchedule::empty |
( |
| ) |
const |
|
inlinenoexcept |
◆ size()
| std::size_t fastmm::sim::ParamSchedule::size |
( |
| ) |
const |
|
inlinenoexcept |
◆ next_ts()
| Timestamp fastmm::sim::ParamSchedule::next_ts |
( |
| ) |
const |
|
inlinenoexcept |
◆ pop()
Removes the earliest update; its recv_ts is the delivery time.