2.8 KiB
network/switch/switch_buffer.h
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);