fixed bug in attaching nics to hosts, changed documentation format and generator (buggy but usable)
This commit is contained in:
@@ -1,19 +1,65 @@
|
||||
# network/switch/switch_buffer.h
|
||||
|
||||
## class NetworkSwitch — public interface
|
||||
|
||||
### `virtual ~SwitchBuffer() = default;`
|
||||
### `Bytes buffer_size() const noexcept;`
|
||||
### `SwitchBufferType type() const noexcept;`
|
||||
### `uint16_t port_cnt() const noexcept;`
|
||||
### `Bytes port_buffered(PortId p) const noexcept;`
|
||||
### `const std::vector<Bytes> &ports_buffered() const noexcept;`
|
||||
### `uint8_t share_ctrl() const noexcept;`
|
||||
### `uint8_t share_mice() const noexcept;`
|
||||
### `uint8_t share_elephant() const noexcept;`
|
||||
### `void set_share_ctrl(uint8_t pct) noexcept;`
|
||||
### `void set_share_mice(uint8_t pct) noexcept;`
|
||||
### `void set_share_elephant(uint8_t pct) noexcept;`
|
||||
### `const Simulator *simulator() const noexcept;`
|
||||
### `const NetworkSwitch *owner() const noexcept;`
|
||||
### `void set_egress_links(const std::vector<Link*> &links);`
|
||||
## `SwitchBuffer::PerPortSched::drain_once`
|
||||
`void drain_once(PortId port)`
|
||||
## `SwitchBuffer::PerPortSched::drain_one_common`
|
||||
`bool drain_one_common(PortId port)`
|
||||
## `SwitchBuffer::PerPortSched::on_dequeue_commit`
|
||||
`virtual void on_dequeue_commit(PortId port, Bytes sz) = 0`
|
||||
## `SwitchBuffer::PerPortSched::on_enqueue_cap_check`
|
||||
`virtual bool on_enqueue_cap_check(PortId port, Bytes sz) = 0`
|
||||
## `SwitchBuffer::PerPortSched::on_enqueue_commit`
|
||||
`virtual void on_enqueue_commit(PortId port, Bytes sz) = 0`
|
||||
## `SwitchBuffer::PerPortSched::queued_bytes_port`
|
||||
`Bytes queued_bytes_port(PortId p) const noexcept`
|
||||
## `SwitchBuffer::PerPortSched::queued_bytes_total`
|
||||
`Bytes queued_bytes_total() const noexcept`
|
||||
## `SwitchBuffer::PerPortSched::queues_for`
|
||||
`virtual const std::array<std::deque<Queued>, PRI_COUNT> &queues_for( PortId p) const = 0`
|
||||
## `SwitchBuffer::PerPortSched::queues_for`
|
||||
`virtual std::array<std::deque<Queued>, PRI_COUNT> &queues_for(PortId p) = 0`
|
||||
## `SwitchBuffer::PerPortSched::schedule_drain_if_needed`
|
||||
`void schedule_drain_if_needed(PortId port)`
|
||||
## `SwitchBuffer::PerPortSched::try_reserve_and_send`
|
||||
`std::optional<Time> try_reserve_and_send(PortId port, Queued &q)`
|
||||
## `SwitchBuffer::buffer_size`
|
||||
`Bytes buffer_size() const noexcept`
|
||||
## `SwitchBuffer::drain_one`
|
||||
`virtual bool drain_one(PortId port) = 0`
|
||||
## `SwitchBuffer::enqueue_packet`
|
||||
`virtual bool enqueue_packet(const Packet &pkt, PortId egress, FlowPriority prio) = 0`
|
||||
## `SwitchBuffer::owner`
|
||||
`const NetworkSwitch *owner() const noexcept`
|
||||
## `SwitchBuffer::port_buffered`
|
||||
`Bytes port_buffered(PortId p) const noexcept`
|
||||
## `SwitchBuffer::port_cnt`
|
||||
`uint16_t port_cnt() const noexcept`
|
||||
## `SwitchBuffer::ports_buffered`
|
||||
`const std::vector<Bytes> &ports_buffered() const noexcept`
|
||||
## `SwitchBuffer::set_egress_links`
|
||||
`void set_egress_links(const std::vector<Link*> &links)`
|
||||
## `SwitchBuffer::set_share_ctrl`
|
||||
`void set_share_ctrl(uint8_t pct) noexcept`
|
||||
## `SwitchBuffer::set_share_elephant`
|
||||
`void set_share_elephant(uint8_t pct) noexcept`
|
||||
## `SwitchBuffer::set_share_mice`
|
||||
`void set_share_mice(uint8_t pct) noexcept`
|
||||
## `SwitchBuffer::share_ctrl`
|
||||
`uint8_t share_ctrl() const noexcept`
|
||||
## `SwitchBuffer::share_elephant`
|
||||
`uint8_t share_elephant() const noexcept`
|
||||
## `SwitchBuffer::share_mice`
|
||||
`uint8_t share_mice() const noexcept`
|
||||
## `SwitchBuffer::simulator`
|
||||
`const Simulator *simulator() const noexcept`
|
||||
## `SwitchBuffer::type`
|
||||
`SwitchBufferType type() const noexcept`
|
||||
## `SwitchBuffer::~SwitchBuffer`
|
||||
`virtual ~SwitchBuffer() = default`
|
||||
## `drain_once`
|
||||
`void drain_once(PortId port);`
|
||||
## `drain_one_common`
|
||||
`bool drain_one_common(PortId port);`
|
||||
## `schedule_drain_if_needed`
|
||||
`void schedule_drain_if_needed(PortId port);`
|
||||
## `try_reserve_and_send`
|
||||
`std::optional<Time> try_reserve_and_send(PortId port, Queued &q);`
|
||||
Reference in New Issue
Block a user