# class Simulator

*Defined at src/core/simulator.h#34*

## Functions

### Simulator

*public void Simulator()*

*Defined at src/core/simulator.h#58*

### create_simulator

*public std::pair<InstanceId, Simulator *> create_simulator(InstanceId id)*

### get_simulator

*public Simulator * get_simulator(InstanceId id)*

### is_locked

*public bool is_locked()*

*Defined at src/core/simulator.h#96*

### now

*public Time now()*

### cancel

*public bool cancel(EventId id)*

### run_next

*public bool run_next()*

### run_until

*public void run_until(Time end_time)*

### lock

*public void lock()*

### flush_after

*public void flush_after(Time grace)*

### create_rng

*public Rng * create_rng(std::uint64_t seed)*

### get_rng

*public Rng * get_rng()*

### get_rng

*public const Rng * get_rng()*

### create_link

*public std::pair<LinkId, Link *> create_link(NetworkNode * a, PortId a_port, NetworkNode * b, PortId b_port, Time latency, double bandwidth_gbps)*

### get_link

*public Link * get_link(LinkId id)*

### get_link

*public const Link * get_link(LinkId id)*

### schedule_at

*public EventId schedule_at(Time abs_time, F && f, Args &&... args)*

*Defined at src/core/simulator.h#66*

### schedule_after

*public EventId schedule_after(Time delay, F && f, Args &&... args)*

*Defined at src/core/simulator.h#84*



