Struct Timer::OsTimerCallbackHandle

Nested Relationships

This struct is a nested type of Class Timer.

Struct Documentation

struct OsTimerCallbackHandle

Public Functions

void incrementDescriptor() noexcept

Public Members

std::mutex m_accessMutex
std::atomic<uint32_t> m_descriptor = {0u}

the descriptor is unique for a timer_t in OsTimer, if this handle is recycled, the descriptor needs to be incremented first

std::atomic_flag m_callbackIsAboutToBeExecuted = ATOMIC_FLAG_INIT
std::atomic<bool> m_inUse = {false}
std::atomic<bool> m_isTimerActive = {false}
std::atomic<uint64_t> m_timerInvocationCounter = {0u}
CatchUpPolicy m_catchUpPolicy = {CatchUpPolicy::TERMINATE}
OsTimer *m_timer = {nullptr}

Public Static Functions

static sigval indexAndDescriptorToSigval(uint8_t index, uint32_t descriptor) noexcept
static uint8_t sigvalToIndex(sigval intVal) noexcept
static uint32_t sigvalToDescriptor(sigval intVal) noexcept

Public Static Attributes

static constexpr uint32_t MAX_DESCRIPTOR_VALUE = {(1u << 24u) - 1u}