llarp::thread::QueueManager

Public Types

Name
using std::atomic< std::uint32_t > AtomicIndex

Public Functions

Name
int32_t circularDifference(uint32_t startingValue, uint32_t subtractValue, uint32_t modulo)
uint32_t numGenerations(size_t capacity)
QueueManager(size_t capacity)
~QueueManager()
QueueReturn reservePushIndex(uint32_t & generation, uint32_t & index)
void commitPushIndex(uint32_t generation, uint32_t index)
QueueReturn reservePopIndex(uint32_t & generation, uint32_t & index)
void commitPopIndex(uint32_t generation, uint32_t index)
void disable()
void enable()
bool reservePopForClear(uint32_t & generation, uint32_t & index, uint32_t endGeneration, uint32_t endIndex)
void abortPushIndexReservation(uint32_t generation, uint32_t index)
bool enabled() const
size_t size() const
size_t capacity() const

Public Attributes

Name
constexpr size_t Alignment
constexpr size_t MAX_CAPACITY

Public Types Documentation

using AtomicIndex

using llarp::thread::QueueManager::AtomicIndex =  std::atomic<std::uint32_t>;

Public Functions Documentation

function circularDifference

static int32_t circularDifference(
    uint32_t startingValue,
    uint32_t subtractValue,
    uint32_t modulo
)

function numGenerations

static uint32_t numGenerations(
    size_t capacity
)

function QueueManager

explicit QueueManager(
    size_t capacity
)

function ~QueueManager

~QueueManager()

function reservePushIndex

QueueReturn reservePushIndex(
    uint32_t & generation,
    uint32_t & index
)

function commitPushIndex

void commitPushIndex(
    uint32_t generation,
    uint32_t index
)

function reservePopIndex

QueueReturn reservePopIndex(
    uint32_t & generation,
    uint32_t & index
)

function commitPopIndex

void commitPopIndex(
    uint32_t generation,
    uint32_t index
)

function disable

void disable()

function enable

void enable()

function reservePopForClear

bool reservePopForClear(
    uint32_t & generation,
    uint32_t & index,
    uint32_t endGeneration,
    uint32_t endIndex
)

function abortPushIndexReservation

void abortPushIndexReservation(
    uint32_t generation,
    uint32_t index
)

function enabled

bool enabled() const

function size

size_t size() const

function capacity

size_t capacity() const

Public Attributes Documentation

variable Alignment

static constexpr size_t Alignment = 64;

variable MAX_CAPACITY

static constexpr size_t MAX_CAPACITY = 1 << ((sizeof(uint32_t) * 8) - 2);

Updated on 2026-01-10 at 22:49:45 +0000