1.4 KiB
network/link.h
Link::Link
Link(Simulator *const sim, LinkId id, NetworkNode *a, PortId a_port, NetworkNode *b, PortId b_port, Time latency, double bandwidth_gbps) noexcept
Link::bandwidth_gbps
double bandwidth_gbps() const noexcept
Link::dst_id
NodeId dst_id() const noexcept
Link::dst_port
PortId dst_port() const noexcept
Link::id
LinkId id() const noexcept
Link::next_available
Time next_available(NodeId sender) const noexcept
Link::propagation_latency
Time propagation_latency() const noexcept
Link::reserve
std::optional<Reservation> reserve(Bytes bytes, NodeId sender) noexcept
Link::schedule_delivery_after
void schedule_delivery_after(Packet &pkt, NodeId caller, Time after)
Link::send_pkt
void send_pkt(Packet &pkt, NodeId caller)
Link::serialization_time
Time serialization_time(Bytes bytes) const noexcept
Link::serialization_time
static Time serialization_time(Bytes bytes, double gbps) noexcept
Link::set_status
void set_status(LinkStatus s, Time new_latency = Time(0), double new_bandwidth_gbps = 0.0)
Link::src_id
NodeId src_id() const noexcept
Link::src_port
PortId src_port() const noexcept
Link::status
LinkStatus status() const noexcept
serialization_time
static Time serialization_time(Bytes bytes, double gbps) noexcept;
set_status
void set_status(LinkStatus s, Time new_latency = Time(0), double new_bandwidth_gbps = 0.0);