CoreFlow 1.0.0
A modern orchestration and execution runtime
Loading...
Searching...
No Matches
coreflow::Osal Class Reference

OS Abstraction Layer Utility Class. More...

#include <vx_osal.h>

Public Member Functions

vx_queue_tcreateQueue (vx_uint32 numItems, vx_size itemSize)
 Creates a queue object of specific size.
 

Static Public Member Functions

static vx_bool createSem (vx_sem_t *sem, vx_uint32 count)
 Creates a semaphore object and sets to a given count.
 
static void destroySem (vx_sem_t *sem)
 Releases a semaphore object.
 
static vx_bool semPost (vx_sem_t *sem)
 Posts a semaphore object.
 
static vx_bool semWait (vx_sem_t *sem)
 Waits on a semaphore object.
 
static vx_bool semTryWait (vx_sem_t *sem)
 Tries to wait on a semaphore object.
 
static vx_bool joinThread (vx_thread_t thread, vx_value_t *value)
 Joins a thread.
 
static vx_thread_t createThread (vx_thread_f func, void *arg)
 Creates a thread.
 
static void sleepThread (vx_uint32 milliseconds)
 Sleeps the current thread for a given number of milliseconds.
 
static vx_bool initEvent (vx_internal_event_t *e, vx_bool autoreset)
 Initializes an event.
 
static vx_bool waitEvent (vx_internal_event_t *e, vx_uint32 timeout)
 Waits on an event.
 
static vx_bool setEvent (vx_internal_event_t *e)
 Sets an event.
 
static vx_bool resetEvent (vx_internal_event_t *e)
 Resets an event.
 
static vx_bool waitEventInternal (vx_internal_event_t *e, vx_uint32 ms)
 Wait on an internal event.
 
static vx_bool deinitEvent (vx_internal_event_t *e)
 Deinitializes an event.
 
static vx_threadpool_tcreateThreadpool (vx_uint32 numThreads, vx_uint32 numWorkItems, vx_size sizeWorkItem, vx_threadpool_f worker, void *arg)
 Create and allocate thread pool.
 
static vx_bool issueThreadpool (vx_threadpool_t *pool, vx_value_set_t workitems[], uint32_t numWorkItems)
 Start and issue tasks to thread pool.
 
static vx_bool completeThreadpool (vx_threadpool_t *pool, vx_bool blocking)
 Complete and join thread pool.
 
static vx_value_t workerThreadpool (void *arg)
 Launch worker thread pool.
 
static void destroyThreadpool (vx_threadpool_t **ppool)
 Destroy thread pool.
 
static void startCapture (vx_perf_t *perf)
 Starts the performance capture.
 
static void stopCapture (vx_perf_t *perf)
 Stops the performance capture.
 
static vx_float32 timeToMS (vx_uint64 c)
 Converts a vx_uint64 to a float in milliseconds.
 
static void initPerf (vx_perf_t *perf)
 Initializes the performance information.
 
static void printPerf (vx_perf_t *perf)
 Prints the performance information.
 
static void initQueue (vx_queue_t *q)
 Initializes the queue.
 
static vx_queue_tcreateQueue ()
 Creates a queue object.
 
static vx_bool readQueue (vx_queue_t *q, vx_value_set_t **data)
 Reads from a queue object.
 
static vx_bool writeQueue (vx_queue_t *q, vx_value_set_t *data)
 Writes to a queue object.
 
static void popQueue (vx_queue_t *q)
 Pops a queue object.
 
static void destroyQueue (vx_queue_t **pq)
 Destroys a queue object.
 
static void deinitQueue (vx_queue_t *q)
 Deinitializes a queue object.
 
static void printQueue (vx_queue_t *q)
 Print the queue object.
 
static vx_module_handle_t loadModule (vx_char *name)
 Loads a module.
 
static void unloadModule (vx_module_handle_t mod)
 Unloads a module.
 
static vx_symbol_t getSymbol (vx_module_handle_t mod, const vx_char *name)
 Gets a symbol from a module.
 

Detailed Description

OS Abstraction Layer Utility Class.