1.7 KiB
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);