Interface: tos.interfaces.Pool
interface Pool<typedef t>
An allocation pool of a specific type memory objects.
The Pool allows components to allocate (get)
and deallocate (put) elements. The pool
does not require that deallocations be items which were
originally allocated. E.g., a program can create two
pools of the same type and pass items between them.
This allows, for example, a component to allocate a pool
of message buffers and freely buffer swap them on
Receive.receive events.
- Author:
-
Philip Levis
-
Kyle Jamieson
- Date:
-
$Date: 2008/06/04 03:00:31 $
Commands
command bool empty()
command t *get()
command uint8_t maxSize()
command error_t put(t *newVal)
command uint8_t size()
Commands - Details
empty
command bool empty()
- Returns:
-
Whether the pool is empty.
get
command t *get()
- Returns:
-
't* ONE_NOK' A pointer if the pool is not empty, NULL if
the pool is empty.
maxSize
command uint8_t maxSize()
- Returns:
-
Maximum size.
put
command error_t put(t *newVal)
- Parameters:
-
't* ONE newVal'
- Returns:
-
SUCCESS if the entry was put in successfully, FAIL
if the pool is full.
size
command uint8_t size()
- Returns:
-
How many elements are in the pool.