Mbed OS Reference
|
Public Member Functions | |
emac_mem_buf_t * | alloc_heap (uint32_t size, uint32_t align) override |
Allocates memory buffer from the heap. More... | |
emac_mem_buf_t * | alloc_pool (uint32_t size, uint32_t align) override |
Allocates memory buffer chain from a pool. More... | |
uint32_t | get_pool_alloc_unit (uint32_t align) const override |
Get memory buffer pool allocation unit. More... | |
void | free (emac_mem_buf_t *buf) override |
Free memory buffer chain. More... | |
uint32_t | get_total_len (const emac_mem_buf_t *buf) const override |
Return total length of a memory buffer chain. More... | |
void | copy (emac_mem_buf_t *to_buf, const emac_mem_buf_t *from_buf) override |
Copy a memory buffer chain. More... | |
void | cat (emac_mem_buf_t *to_buf, emac_mem_buf_t *cat_buf) override |
Concatenate two memory buffer chains. More... | |
emac_mem_buf_t * | get_next (const emac_mem_buf_t *buf) const override |
Returns the next buffer. More... | |
void * | get_ptr (const emac_mem_buf_t *buf) const override |
Return pointer to the payload of the buffer. More... | |
uint32_t | get_len (const emac_mem_buf_t *buf) const override |
Return payload size of the buffer. More... | |
void | set_len (emac_mem_buf_t *buf, uint32_t len) override |
Sets the payload size of the buffer. More... | |
virtual void | copy_to_buf (net_stack_mem_buf_t *to_buf, const void *ptr, uint32_t len) |
Copy to a memory buffer chain. More... | |
virtual uint32_t | copy_from_buf (void *ptr, uint32_t len, const net_stack_mem_buf_t *from_buf) const |
Copy from a memory buffer chain. More... | |
Definition at line 22 of file NanostackMemoryManager.h.
|
overridevirtual |
Allocates memory buffer from the heap.
Memory buffer allocated from heap is always contiguous and can be arbitrary size.
size | Size of the memory to allocate in bytes |
align | Memory alignment requirement in bytes |
Implements NetStackMemoryManager.
|
overridevirtual |
Allocates memory buffer chain from a pool.
Memory allocated from pool is contiguous if size is equal or less than (aligned) allocation unit, otherwise may be chained. Will typically come from fixed-size packet pool memory.
size | Total size of the memory to allocate in bytes |
align | Memory alignment requirement for each buffer in bytes |
Implements NetStackMemoryManager.
|
overridevirtual |
Get memory buffer pool allocation unit.
Returns the maximum size of contiguous memory that can be allocated from a pool.
align | Memory alignment requirement in bytes |
Implements NetStackMemoryManager.
|
overridevirtual |
Free memory buffer chain.
If memory buffer is chained must point to the start of the chain. Frees all buffers from the chained list.
buf | Memory buffer chain to be freed. |
Implements NetStackMemoryManager.
|
overridevirtual |
Return total length of a memory buffer chain.
Returns a total length of this buffer and any following buffers in the chain.
buf | Memory buffer chain |
Implements NetStackMemoryManager.
|
overridevirtual |
Copy a memory buffer chain.
Copies data from one buffer chain to another. Copy operation does not adjust the lengths of the copied-to memory buffer chain, so chain total lengths must be the same.
to_buf | Memory buffer chain to copy to |
from_buf | Memory buffer chain to copy from |
Implements NetStackMemoryManager.
|
overridevirtual |
Concatenate two memory buffer chains.
Concatenates buffer chain to end of the other buffer chain. Concatenated-to buffer total length is adjusted accordingly. cat_buf must point to the start of a the chain. After concatenation to_buf's chain now owns those buffers, and they will be freed when the to_buf chain is freed.
to_buf | Memory buffer chain to concatenate to |
cat_buf | Memory buffer chain to concatenate |
Implements NetStackMemoryManager.
|
overridevirtual |
Returns the next buffer.
Returns the next buffer from the memory buffer chain.
buf | Memory buffer |
Implements NetStackMemoryManager.
|
overridevirtual |
Return pointer to the payload of the buffer.
buf | Memory buffer |
Implements NetStackMemoryManager.
|
overridevirtual |
Return payload size of the buffer.
buf | Memory buffer |
Implements NetStackMemoryManager.
|
overridevirtual |
Sets the payload size of the buffer.
The allocated payload size will not change. It is not permitted to change the length of a buffer that is not the first (or only) in a chain.
buf | Memory buffer |
len | Payload size, must be less or equal allocated size |
Implements NetStackMemoryManager.
|
virtualinherited |
Copy to a memory buffer chain.
Copies data to a buffer chain. Copy operation does not adjust the lengths of the copied-to memory buffer chain, so chain total length must match the copied length.
to_buf | Memory buffer chain to copy to |
ptr | Pointer to data |
len | Data length |
|
virtualinherited |
Copy from a memory buffer chain.
Copies data from a memory buffer chain.
len | Data length |
ptr | Pointer to data |
from_buf | Memory buffer chain to copy from |