Files
dofs/docs/core/simulator.md

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)

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

Link *get_link(LinkId id) noexcept

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