S2OPC OPCUA Toolkit
Loading...
Searching...
No Matches
sopc_event_timer_manager.h File Reference

An event timer manager which allow to associate an event to enqueue in an event dispatcher manager on timer expiration. More...

#include "sopc_date_time.h"
#include "sopc_event_handler.h"

Go to the source code of this file.

Macros

#define SOPC_TIMER_RESOLUTION_MS   50
 

Functions

void SOPC_EventTimer_Initialize (void)
 Initialize the event timer manager (necessary to create timers)
 
void SOPC_EventTimer_PreClear (void)
 PreClear the event timer manager: thread triggering timers is stopped. It might be called prior to SOPC_EventTimer_Clear to ensure no new timer is triggered until clearing memory. SOPC_EventTimer_Clear shall be called shortly to completely clear event timer data.
 
void SOPC_EventTimer_Clear (void)
 Clear the event timer manager (cancel all timers not already triggered) SOPC_EventTimer_PreClear is automatically called if not called prior to this call.
 
uint32_t SOPC_EventTimer_Create (SOPC_EventHandler *eventHandler, SOPC_LooperEvent event, uint64_t msDelay)
 Create a timer which will raise the given event parameters to the given event dispatch manager.
 
uint32_t SOPC_EventTimer_CreatePeriodic (SOPC_EventHandler *eventHandler, SOPC_LooperEvent event, uint64_t msPeriod)
 Creates a periodic timer raising an event on a dispatch manager every msPeriod milliseconds.
 
bool SOPC_EventTimer_ModifyPeriodic (uint32_t timerId, uint64_t msPeriod)
 Modifies an existing periodic timer period.
 
void SOPC_EventTimer_Cancel (uint32_t timerId)
 Cancel a started timer.
 

Detailed Description

An event timer manager which allow to associate an event to enqueue in an event dispatcher manager on timer expiration.

Note
SOPC_EventTimer_CyclicTimersEvaluation function shall be called to evaluate timers expiration (already integrated in toolkit).

Macro Definition Documentation

◆ SOPC_TIMER_RESOLUTION_MS

#define SOPC_TIMER_RESOLUTION_MS   50

Maximum resolution time for the event timers evaluation

Function Documentation

◆ SOPC_EventTimer_Initialize()

void SOPC_EventTimer_Initialize ( void )

Initialize the event timer manager (necessary to create timers)

◆ SOPC_EventTimer_PreClear()

void SOPC_EventTimer_PreClear ( void )

PreClear the event timer manager: thread triggering timers is stopped. It might be called prior to SOPC_EventTimer_Clear to ensure no new timer is triggered until clearing memory. SOPC_EventTimer_Clear shall be called shortly to completely clear event timer data.

◆ SOPC_EventTimer_Clear()

void SOPC_EventTimer_Clear ( void )

Clear the event timer manager (cancel all timers not already triggered) SOPC_EventTimer_PreClear is automatically called if not called prior to this call.

◆ SOPC_EventTimer_Create()

uint32_t SOPC_EventTimer_Create ( SOPC_EventHandler * eventHandler,
SOPC_LooperEvent event,
uint64_t msDelay )

Create a timer which will raise the given event parameters to the given event dispatch manager.

Parameters
eventHandlerthe event handler where to dispatch the event on timeout
eventthe event to dispatch on timeout
msDelaythe delay from current time before timeout in milliseconds
Returns
the timer identifier (or value 0 if operation failed)

◆ SOPC_EventTimer_CreatePeriodic()

uint32_t SOPC_EventTimer_CreatePeriodic ( SOPC_EventHandler * eventHandler,
SOPC_LooperEvent event,
uint64_t msPeriod )

Creates a periodic timer raising an event on a dispatch manager every msPeriod milliseconds.

Parameters
eventHandlerthe event handler where to dispatch the event on timeout
eventthe event to dispatch on timeout
msPeriodthe period in milliseconds
Returns
the timer identifier (or value 0 if operation failed)

◆ SOPC_EventTimer_ModifyPeriodic()

bool SOPC_EventTimer_ModifyPeriodic ( uint32_t timerId,
uint64_t msPeriod )

Modifies an existing periodic timer period.

Note
The new period value is applied from next timer expiration
Parameters
timerIdthe identifier of the started periodic timer to modify
msPeriodthe new period to apply in milliseconds
Returns
true if the modification was successfully done, false otherwise

◆ SOPC_EventTimer_Cancel()

void SOPC_EventTimer_Cancel ( uint32_t timerId)

Cancel a started timer.

Parameters
timerIdthe identifier of the started timer to cancel