49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# core/simulator.h
|
|
## `Simulator::Cmp::operator`
|
|
`bool operator()(const Item &a, const Item &b) const noexcept`
|
|
## `Simulator::Simulator`
|
|
`Simulator() = default`
|
|
## `Simulator::cancel`
|
|
`bool cancel(EventId id)`
|
|
## `Simulator::create_link`
|
|
`std::pair<LinkId, Link *> create_link(NetworkNode *a, PortId a_port, NetworkNode *b, PortId b_port, Time latency, double bandwidth_gbps)`
|
|
## `Simulator::create_rng`
|
|
`Rng *create_rng(std::uint64_t seed)`
|
|
## `Simulator::create_simulator`
|
|
`static std::pair<InstanceId, Simulator *> create_simulator(InstanceId id)`
|
|
## `Simulator::flush_after`
|
|
`void flush_after(Time grace) noexcept`
|
|
## `Simulator::get_link`
|
|
`Link *get_link(LinkId id) noexcept`
|
|
## `Simulator::get_link`
|
|
`Link const *get_link(LinkId id) const noexcept`
|
|
## `Simulator::get_rng`
|
|
`Rng *get_rng() noexcept`
|
|
## `Simulator::get_rng`
|
|
`Rng const *get_rng() const noexcept`
|
|
## `Simulator::get_simulator`
|
|
`static Simulator *get_simulator(InstanceId id) noexcept`
|
|
## `Simulator::is_locked`
|
|
`bool is_locked() const noexcept`
|
|
## `Simulator::lock`
|
|
`void lock() noexcept`
|
|
## `Simulator::now`
|
|
`Time now() const noexcept`
|
|
## `Simulator::run_next`
|
|
`bool run_next()`
|
|
## `Simulator::run_until`
|
|
`void run_until(Time end_time)`
|
|
## `Simulator::schedule_after`
|
|
`template<class F, class... Args> template<class F, class... Args> EventId schedule_after(Time delay, F&&f, Args&&... args)`
|
|
## `Simulator::schedule_at`
|
|
`template<class F, class... Args> template<class F, class... Args> EventId schedule_at(Time abs_time, F&&f, Args&&... args)`
|
|
## `cancel`
|
|
`bool cancel(EventId id);`
|
|
## `flush_after`
|
|
`void flush_after(Time grace) noexcept;`
|
|
## `lock`
|
|
`void lock() noexcept;`
|
|
## `run_next`
|
|
`bool run_next();`
|
|
## `run_until`
|
|
`void run_until(Time end_time);` |