|
CoreFlow 1.0.0
A modern orchestration and execution runtime
|
The Internal Operating System Abstraction Layer API. More...
Classes | |
| struct | vx_value_set_t |
| The data object for queues. More... | |
| struct | vx_queue_t |
| The queue object. More... | |
| struct | vx_threadpool_worker_t |
| The structure given to each threadpool worker during execution. More... | |
| struct | vx_threadpool_t |
| The threadpool tracking structure. More... | |
| struct | vx_work_t |
| The work item to distribute across the threadpools. More... | |
| class | coreflow::Osal |
| OS Abstraction Layer Utility Class. More... | |
Typedefs | |
| typedef vx_size | vx_value_t |
| A thread return value. | |
| typedef vx_value_t(* | vx_thread_f) (void *arg) |
| A thread function pointer. | |
| typedef vx_bool(* | vx_threadpool_f) (struct vx_threadpool_worker_t *worker) |
| The function pointer to the worker function. | |
Functions | |
| static vx_bool | coreflow::Osal::createSem (vx_sem_t *sem, vx_uint32 count) |
| Creates a semaphore object and sets to a given count. | |
| static void | coreflow::Osal::destroySem (vx_sem_t *sem) |
| Releases a semaphore object. | |
| static vx_bool | coreflow::Osal::semPost (vx_sem_t *sem) |
| Posts a semaphore object. | |
| static vx_bool | coreflow::Osal::semWait (vx_sem_t *sem) |
| Waits on a semaphore object. | |
| static vx_bool | coreflow::Osal::semTryWait (vx_sem_t *sem) |
| Tries to wait on a semaphore object. | |
| static vx_bool | coreflow::Osal::joinThread (vx_thread_t thread, vx_value_t *value) |
| Joins a thread. | |
| static vx_thread_t | coreflow::Osal::createThread (vx_thread_f func, void *arg) |
| Creates a thread. | |
| static void | coreflow::Osal::sleepThread (vx_uint32 milliseconds) |
| Sleeps the current thread for a given number of milliseconds. | |
| static vx_bool | coreflow::Osal::initEvent (vx_internal_event_t *e, vx_bool autoreset) |
| Initializes an event. | |
| static vx_bool | coreflow::Osal::waitEvent (vx_internal_event_t *e, vx_uint32 timeout) |
| Waits on an event. | |
| static vx_bool | coreflow::Osal::setEvent (vx_internal_event_t *e) |
| Sets an event. | |
| static vx_bool | coreflow::Osal::resetEvent (vx_internal_event_t *e) |
| Resets an event. | |
| static vx_bool | coreflow::Osal::waitEventInternal (vx_internal_event_t *e, vx_uint32 ms) |
| Wait on an internal event. | |
| static vx_bool | coreflow::Osal::deinitEvent (vx_internal_event_t *e) |
| Deinitializes an event. | |
| static vx_threadpool_t * | coreflow::Osal::createThreadpool (vx_uint32 numThreads, vx_uint32 numWorkItems, vx_size sizeWorkItem, vx_threadpool_f worker, void *arg) |
| Create and allocate thread pool. | |
| static vx_bool | coreflow::Osal::issueThreadpool (vx_threadpool_t *pool, vx_value_set_t workitems[], uint32_t numWorkItems) |
| Start and issue tasks to thread pool. | |
| static vx_bool | coreflow::Osal::completeThreadpool (vx_threadpool_t *pool, vx_bool blocking) |
| Complete and join thread pool. | |
| static vx_value_t | coreflow::Osal::workerThreadpool (void *arg) |
| Launch worker thread pool. | |
| static void | coreflow::Osal::destroyThreadpool (vx_threadpool_t **ppool) |
| Destroy thread pool. | |
| static void | coreflow::Osal::startCapture (vx_perf_t *perf) |
| Starts the performance capture. | |
| static void | coreflow::Osal::stopCapture (vx_perf_t *perf) |
| Stops the performance capture. | |
| static vx_float32 | coreflow::Osal::timeToMS (vx_uint64 c) |
| Converts a vx_uint64 to a float in milliseconds. | |
| static void | coreflow::Osal::initPerf (vx_perf_t *perf) |
| Initializes the performance information. | |
| static void | coreflow::Osal::printPerf (vx_perf_t *perf) |
| Prints the performance information. | |
| static void | coreflow::Osal::initQueue (vx_queue_t *q) |
| Initializes the queue. | |
| static vx_queue_t * | coreflow::Osal::createQueue () |
| Creates a queue object. | |
| vx_queue_t * | coreflow::Osal::createQueue (vx_uint32 numItems, vx_size itemSize) |
| Creates a queue object of specific size. | |
| static vx_bool | coreflow::Osal::readQueue (vx_queue_t *q, vx_value_set_t **data) |
| Reads from a queue object. | |
| static vx_bool | coreflow::Osal::writeQueue (vx_queue_t *q, vx_value_set_t *data) |
| Writes to a queue object. | |
| static void | coreflow::Osal::popQueue (vx_queue_t *q) |
| Pops a queue object. | |
| static void | coreflow::Osal::destroyQueue (vx_queue_t **pq) |
| Destroys a queue object. | |
| static void | coreflow::Osal::deinitQueue (vx_queue_t *q) |
| Deinitializes a queue object. | |
| static void | coreflow::Osal::printQueue (vx_queue_t *q) |
| Print the queue object. | |
| static vx_module_handle_t | coreflow::Osal::loadModule (vx_char *name) |
| Loads a module. | |
| static void | coreflow::Osal::unloadModule (vx_module_handle_t mod) |
| Unloads a module. | |
| static vx_symbol_t | coreflow::Osal::getSymbol (vx_module_handle_t mod, const vx_char *name) |
| Gets a symbol from a module. | |
The Internal Operating System Abstraction Layer API.
| typedef vx_value_t(* vx_thread_f) (void *arg) |
#include <vx_internal.h>
A thread function pointer.
| typedef vx_bool(* vx_threadpool_f) (struct vx_threadpool_worker_t *worker) |
#include <vx_internal.h>
The function pointer to the worker function.
| [in] | worker | The per-thread worker data structure. |
| false_e | Indicates that the worker failed to process data or had some other error. |
| typedef vx_size vx_value_t |
#include <vx_internal.h>
A thread return value.
|
static |
#include <vx_osal.h>
Complete and join thread pool.
| [in] | pool | The pointer to the thread pool. |
| [in] | blocking | The flag to block until all threads are done. |
|
static |
| vx_queue_t * coreflow::Osal::createQueue | ( | vx_uint32 | numItems, |
| vx_size | itemSize ) |
#include <vx_osal.h>
Creates a queue object of specific size.
| [in] | numItems | The number of items in the queue. |
| [in] | itemSize | The size of each item in the queue. |
#include <vx_osal.h>
Creates a semaphore object and sets to a given count.
| [in] | sem | The pointer to the semaphore object. |
| [in] | count | The count to set the semaphore to. |
|
static |
#include <vx_osal.h>
Creates a thread.
| [in] | func | The function to run in the thread. |
| [in] | arg | The argument to pass to the function. |
|
static |
#include <vx_osal.h>
Create and allocate thread pool.
| [in] | numThreads | The number of threads in the pool. |
| [in] | numWorkItems | The number of work items in the pool. |
| [in] | sizeWorkItem | The size of each work item. |
| [in] | worker | The worker function. |
| [in] | arg | The argument to pass to the worker function. |
|
static |
#include <vx_osal.h>
Deinitializes an event.
| [in] | e | The pointer to the event object. |
|
static |
|
static |
|
static |
#include <vx_osal.h>
Releases a semaphore object.
| [in] | sem | The pointer to the semaphore object. |
|
static |
|
static |
#include <vx_osal.h>
Gets a symbol from a module.
| [in] | mod | The handle to the module. |
| [in] | name | The name of the symbol. |
#include <vx_osal.h>
Initializes an event.
| [in] | e | The pointer to the event object. |
| [in] | autoreset | The flag to autoreset the event. |
|
static |
#include <vx_osal.h>
Initializes the performance information.
| [in] | perf | The pointer to the performance information. |
|
static |
|
static |
#include <vx_osal.h>
Start and issue tasks to thread pool.
| [in] | pool | The pointer to the thread pool. |
| [in] | workitems | The work items to issue. |
| [in] | numWorkItems | The number of work items to issue. |
|
static |
#include <vx_osal.h>
Joins a thread.
| [in] | thread | The thread to join. |
| [out] | value | The return value of the thread. |
|
static |
#include <vx_osal.h>
Loads a module.
| [in] | name | The name of the module. |
|
static |
|
static |
#include <vx_osal.h>
Prints the performance information.
| [in] | perf | The pointer to the performance information. |
|
static |
|
static |
#include <vx_osal.h>
Reads from a queue object.
| [in] | q | The pointer to the queue object. |
| [out] | data | The pointer to the data read. |
|
static |
#include <vx_osal.h>
Resets an event.
| [in] | e | The pointer to the event object. |
|
static |
#include <vx_osal.h>
Posts a semaphore object.
| [in] | sem | The pointer to the semaphore object. |
|
static |
#include <vx_osal.h>
Tries to wait on a semaphore object.
| [in] | sem | The pointer to the semaphore object. |
|
static |
#include <vx_osal.h>
Waits on a semaphore object.
| [in] | sem | The pointer to the semaphore object. |
|
static |
#include <vx_osal.h>
Sets an event.
| [in] | e | The pointer to the event object. |
|
static |
#include <vx_osal.h>
Sleeps the current thread for a given number of milliseconds.
| [in] | milliseconds | The number of milliseconds to sleep. |
|
static |
#include <vx_osal.h>
Starts the performance capture.
| [in] | perf | The pointer to the performance information. |
|
static |
#include <vx_osal.h>
Stops the performance capture.
| [in] | perf | The pointer to the performance information. |
|
static |
|
static |
#include <vx_osal.h>
Waits on an event.
| [in] | e | The pointer to the event object. |
| [in] | timeout | The timeout in milliseconds. |
|
static |
#include <vx_osal.h>
Launch worker thread pool.
| arg | The argument to pass to the worker function. |
|
static |
#include <vx_osal.h>
Writes to a queue object.
| [in] | q | The pointer to the queue object. |
| [in] | data | The pointer to the data to write. |