ludus::network::SendQueue¶
Ludus Wiki · API overview · Browse API
Class
One connection/direction, one thread.
Owns bytes; no heap or locks. Control, input and bulk are FIFO; snapshot is a single newest complete snapshot. Round-robin across nonempty lanes bounds starvation (message fairness). Budget includes the application envelope, not backend framing/IP overhead. On successful dequeue the caller owns the message and must retain it until the transport accepts it; a WouldBlock backend must never silently discard it.
Declared in modules/network/core/include/ludus/network/core/send_queue.h
#include <ludus/network/core/send_queue.h>
class ludus::network::SendQueue final
Methods¶
Enqueue¶
QueueStatus ludus::network::SendQueue::Enqueue(std::span< const uint8 > message) noexcept
Related types: uint8 · QueueStatus
Declared in modules/network/core/include/ludus/network/core/send_queue.h
Dequeue¶
QueueStatus ludus::network::SendQueue::Dequeue(usize byteBudget, OwnedMessage &message) noexcept
Related types: usize · QueueStatus · OwnedMessage
Declared in modules/network/core/include/ludus/network/core/send_queue.h
Reset¶
void ludus::network::SendQueue::Reset() noexcept
Declared in modules/network/core/include/ludus/network/core/send_queue.h
GetPendingCount¶
usize ludus::network::SendQueue::GetPendingCount(Channel lane) const noexcept
Related types: usize · Channel
Declared in modules/network/core/include/ludus/network/core/send_queue.h
GetCounters¶
const QueueCounters & ludus::network::SendQueue::GetCounters() const noexcept
Related types: QueueCounters
Declared in modules/network/core/include/ludus/network/core/send_queue.h