10#define UA_EVENTLOOP_H_
128 void *data,
UA_Double interval_ms, UA_DateTime *baseTime,
133 UA_Double interval_ms, UA_DateTime *baseTime,
141 void *data, UA_DateTime date,
UA_UInt64 *callbackId);
304 void *application,
void *context,
350 uintptr_t interruptHandle,
void *interruptContext,
382#if defined(UA_ARCHITECTURE_POSIX) || defined(UA_ARCHITECTURE_WIN32)
385UA_EventLoop_new_POSIX(
const UA_Logger *logger);
389UA_ConnectionManager_new_POSIX_TCP(
const UA_String eventSourceName);
393UA_ConnectionManager_new_POSIX_UDP(
const UA_String eventSourceName);
395#if defined(__linux__)
398UA_ConnectionManager_new_POSIX_Ethernet(
const UA_String eventSourceName);
403UA_ConnectionManager_new_MQTT(
const UA_String eventSourceName);
407UA_InterruptManager_new_POSIX(
const UA_String eventSourceName);
#define _UA_BEGIN_DECLS
#undef UA_DEBUG_DUMP_PKGS
@ UA_EVENTLOOPSTATE_STOPPING
@ UA_EVENTLOOPSTATE_STARTED
@ UA_EVENTLOOPSTATE_STOPPED
@ UA_EVENTLOOPSTATE_FRESH
UA_EventSourceType
Type-tag for proper casting of the difference EventSource (e.g.
@ UA_EVENTSOURCETYPE_INTERRUPTMANAGER
@ UA_EVENTSOURCETYPE_CONNECTIONMANAGER
void(* UA_InterruptCallback)(UA_InterruptManager *im, uintptr_t interruptHandle, void *interruptContext, const UA_KeyValueMap *instanceInfos)
Interrupts can have additional key-value 'instanceInfos' for each individual triggering.
void(* UA_ConnectionManager_connectionCallback)(UA_ConnectionManager *cm, uintptr_t connectionId, void *application, void **connectionContext, UA_ConnectionState state, const UA_KeyValueMap *params, UA_ByteString msg)
The ConnectionCallback is the only interface from the connection back to the application.
void(* UA_Callback)(void *application, void *context)
@ UA_TIMER_HANDLE_CYCLEMISS_WITH_CURRENTTIME
@ UA_TIMER_HANDLE_CYCLEMISS_WITH_BASETIME
@ UA_EVENTSOURCESTATE_STOPPED
@ UA_EVENTSOURCESTATE_STOPPING
@ UA_EVENTSOURCESTATE_STARTING
@ UA_EVENTSOURCESTATE_FRESH
@ UA_EVENTSOURCESTATE_STARTED
static UA_LogCategory const char * msg
UA_StatusCode(* sendWithConnection)(UA_ConnectionManager *cm, uintptr_t connectionId, const UA_KeyValueMap *params, UA_ByteString *buf)
UA_EventSource eventSource
UA_StatusCode(* openConnection)(UA_ConnectionManager *cm, const UA_KeyValueMap *params, void *application, void *context, UA_ConnectionManager_connectionCallback connectionCallback)
UA_StatusCode(* allocNetworkBuffer)(UA_ConnectionManager *cm, uintptr_t connectionId, UA_ByteString *buf, size_t bufSize)
void(* freeNetworkBuffer)(UA_ConnectionManager *cm, uintptr_t connectionId, UA_ByteString *buf)
UA_StatusCode(* closeConnection)(UA_ConnectionManager *cm, uintptr_t connectionId)
Delayed callbacks are executed not when they are registered, but in the following EventLoop cycle.
struct UA_DelayedCallback * next
UA_StatusCode(* run)(UA_EventLoop *el, UA_UInt32 timeout)
UA_DateTime(* nextCyclicTime)(UA_EventLoop *el)
UA_StatusCode(* addTimedCallback)(UA_EventLoop *el, UA_Callback cb, void *application, void *data, UA_DateTime date, UA_UInt64 *callbackId)
UA_StatusCode(* registerEventSource)(UA_EventLoop *el, UA_EventSource *es)
void(* removeCyclicCallback)(UA_EventLoop *el, UA_UInt64 callbackId)
UA_DateTime(* dateTime_now)(UA_EventLoop *el)
void(* removeDelayedCallback)(UA_EventLoop *el, UA_DelayedCallback *dc)
void(* lock)(UA_EventLoop *el)
UA_EventSource * eventSources
UA_StatusCode(* addCyclicCallback)(UA_EventLoop *el, UA_Callback cb, void *application, void *data, UA_Double interval_ms, UA_DateTime *baseTime, UA_TimerPolicy timerPolicy, UA_UInt64 *callbackId)
UA_Int64(* dateTime_localTimeUtcOffset)(UA_EventLoop *el)
void(* unlock)(UA_EventLoop *el)
UA_StatusCode(* deregisterEventSource)(UA_EventLoop *el, UA_EventSource *es)
void(* stop)(UA_EventLoop *el)
void(* addDelayedCallback)(UA_EventLoop *el, UA_DelayedCallback *dc)
UA_StatusCode(* free)(UA_EventLoop *el)
UA_StatusCode(* modifyCyclicCallback)(UA_EventLoop *el, UA_UInt64 callbackId, UA_Double interval_ms, UA_DateTime *baseTime, UA_TimerPolicy timerPolicy)
UA_StatusCode(* start)(UA_EventLoop *el)
UA_DateTime(* dateTime_nowMonotonic)(UA_EventLoop *el)
const volatile UA_EventLoopState state
UA_EventSourceState state
UA_EventSourceType eventSourceType
struct UA_EventSource * next
UA_StatusCode(* start)(UA_EventSource *es)
void(* stop)(UA_EventSource *es)
UA_StatusCode(* free)(UA_EventSource *es)
void(* deregisterInterrupt)(UA_InterruptManager *im, uintptr_t interruptHandle)
UA_StatusCode(* registerInterrupt)(UA_InterruptManager *im, uintptr_t interruptHandle, const UA_KeyValueMap *params, UA_InterruptCallback callback, void *interruptContext)
UA_EventSource eventSource