PendingPacketQueue struct
Lock-free MPSC queue for PendingPacket.
Worker threads call Push(); Sentinel drains via Drain() after all build jobs complete. Drain reverses the intrusive list to restore dispatch order.
Public types
- struct Node
Public functions
- void Push(PendingPacket&& pkt)
- void Drain(std::vector<PendingPacket>& out)
- Drain all pending packets into
outin dispatch order. - auto IsEmpty() const -> bool
Function documentation
void PendingPacketQueue:: Drain(std::vector<PendingPacket>& out)
Drain all pending packets into out in dispatch order.
| Parameters | |
|---|---|
| out out | Receives packets in the order they were pushed. |