# class Link

*Defined at src/network/link.h#27*

## Records

Reservation



## Functions

### Link

*public void Link(Simulator *const sim, LinkId id, NetworkNode * a, PortId a_port, NetworkNode * b, PortId b_port, Time latency, double bandwidth_gbps)*

### send_pkt

*public void send_pkt(Packet & pkt, NodeId caller)*

### schedule_delivery_after

*public void schedule_delivery_after(Packet & pkt, NodeId caller, Time after)*

### next_available

*public Time next_available(NodeId sender)*

### reserve

*public std::optional<Reservation> reserve(Bytes bytes, NodeId sender)*

### serialization_time

*public Time serialization_time(Bytes bytes)*

*Defined at src/network/link.h#49*

### propagation_latency

*public Time propagation_latency()*

*Defined at src/network/link.h#53*

### id

*public LinkId id()*

*Defined at src/network/link.h#57*

### status

*public LinkStatus status()*

*Defined at src/network/link.h#60*

### bandwidth_gbps

*public double bandwidth_gbps()*

*Defined at src/network/link.h#63*

### src_id

*public NodeId src_id()*

*Defined at src/network/link.h#68*

### dst_id

*public NodeId dst_id()*

*Defined at src/network/link.h#71*

### src_port

*public PortId src_port()*

*Defined at src/network/link.h#74*

### dst_port

*public PortId dst_port()*

*Defined at src/network/link.h#77*

### set_status

*public void set_status(LinkStatus s, Time new_latency, double new_bandwidth_gbps)*

### serialization_time

*public Time serialization_time(Bytes bytes, double gbps)*



