# network/switch/ecn_shared_red.h ## `SharedREDEngine::SharedREDEngine` `explicit SharedREDEngine(Rng *const rng = nullptr) noexcept : _rng(rng), _avg_total_bytes(0.0), _avg_port_bytes()` ## `SharedREDEngine::process_packet` `virtual Packet &process_packet(Packet &pkt, SwitchBuffer *buf) noexcept override` ## `dofs::ensure_size` `private: void ensure_size(uint16_t port_cnt){` ## `is_ctrl` `static inline bool is_ctrl(const Packet &p) noexcept{` ## `is_ele` `static inline bool is_ele (const Packet &p) noexcept{` ## `is_mice` `static inline bool is_mice(const Packet &p) noexcept{`