37 lines
1.4 KiB
Markdown
37 lines
1.4 KiB
Markdown
# 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);` |