- Usage
- Settings
- Modules
- Admin
- ???
- Client
- ???
- Admin
- Introspection
- ???
- Receive
- ???
- Route
- ???
- Send
- ???
- Validate
- ???
A component is an "object" or a "collection of functionality" to perform a task. There may not be a single implementation for a type of component. For example, a Queue provides a known set of functionality but there could be a FIFO Queue and a Query Queue where both would have completely different implementations.
A memory pool contains a block of memory which can be used for allocation and deallocation, much like OS memory. The difference is a memory pool is allocated once and used explicitly for a specific type of data. This difference allows the memory pool to provide better performance than the default OS memory allocation.
The memory pool will have the following features:
- Allocate memory
- Deallocate memory
- Defragment unused memory
See: [MemZone Configuration][memzone_config]
A queue contains a list of one type of thing.
There is no "base class/object" that defines the common behavior of a queue
.
Therefore the API of a specific type of queue will differ from other types of queue
"objects".
This allows each queue
to behave in a way that is optimized based on the thing it contains.
In general, a queue
will have one or more of the following features:
- The first thing will have an index of
0
. insert
: A thing will be placed at the specified index, shifting all other thing_s to the "right". Negative indexes will append _thing to the end of the list.- 'remove': Remove a thing from the specified index. Negative indexes will remove the last thing in the list.
See: [Queue Configuration][queue_config]