Skip to content

iox::posix::Timer::OsTimerCallbackHandle🔗

Public Functions🔗

Name
sigval indexAndDescriptorToSigval(uint8_t index, uint32_t descriptor)
uint8_t sigvalToIndex(sigval intVal)
uint32_t sigvalToDescriptor(sigval intVal)
void incrementDescriptor()

Public Attributes🔗

Name
constexpr uint32_t MAX_DESCRIPTOR_VALUE
std::mutex m_accessMutex
std::atomic< uint32_t > m_descriptor
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
std::atomic< bool > m_inUse
std::atomic< bool > m_isTimerActive
std::atomic< uint64_t > m_timerInvocationCounter
CatchUpPolicy m_catchUpPolicy
OsTimer * m_timer

Public Functions Documentation🔗

function indexAndDescriptorToSigval🔗

static sigval indexAndDescriptorToSigval(
    uint8_t index,
    uint32_t descriptor
)

function sigvalToIndex🔗

static uint8_t sigvalToIndex(
    sigval intVal
)

function sigvalToDescriptor🔗

static uint32_t sigvalToDescriptor(
    sigval intVal
)

function incrementDescriptor🔗

void incrementDescriptor()

Public Attributes Documentation🔗

variable MAX_DESCRIPTOR_VALUE🔗

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

variable m_accessMutex🔗

std::mutex m_accessMutex;

variable m_descriptor🔗

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

variable m_callbackIsAboutToBeExecuted🔗

std::atomic_flag m_callbackIsAboutToBeExecuted = ATOMIC_FLAG_INIT;

variable m_inUse🔗

std::atomic< bool > m_inUse {false};

variable m_isTimerActive🔗

std::atomic< bool > m_isTimerActive {false};

variable m_timerInvocationCounter🔗

std::atomic< uint64_t > m_timerInvocationCounter {0u};

variable m_catchUpPolicy🔗

CatchUpPolicy m_catchUpPolicy {CatchUpPolicy::TERMINATE};

variable m_timer🔗

OsTimer * m_timer {nullptr};

Updated on 18 December 2023 at 13:11:42 CET