 
  
 | Public Member Functions | |
| virtual net_stack_mem_buf_t * | alloc_heap (uint32_t size, uint32_t align)=0 | 
| Allocates memory buffer from the heap.  More... | |
| virtual net_stack_mem_buf_t * | alloc_pool (uint32_t size, uint32_t align)=0 | 
| Allocates memory buffer chain from a pool.  More... | |
| virtual uint32_t | get_pool_alloc_unit (uint32_t align) const =0 | 
| Get memory buffer pool allocation unit.  More... | |
| virtual void | free (net_stack_mem_buf_t *buf)=0 | 
| Free memory buffer chain.  More... | |
| virtual uint32_t | get_total_len (const net_stack_mem_buf_t *buf) const =0 | 
| Return total length of a memory buffer chain.  More... | |
| virtual void | copy (net_stack_mem_buf_t *to_buf, const net_stack_mem_buf_t *from_buf)=0 | 
| Copy a memory buffer chain.  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... | |
| virtual void | cat (net_stack_mem_buf_t *to_buf, net_stack_mem_buf_t *cat_buf)=0 | 
| Concatenate two memory buffer chains.  More... | |
| virtual net_stack_mem_buf_t * | get_next (const net_stack_mem_buf_t *buf) const =0 | 
| Returns the next buffer.  More... | |
| virtual void * | get_ptr (const net_stack_mem_buf_t *buf) const =0 | 
| Return pointer to the payload of the buffer.  More... | |
| virtual uint32_t | get_len (const net_stack_mem_buf_t *buf) const =0 | 
| Return payload size of the buffer.  More... | |
| virtual void | set_len (net_stack_mem_buf_t *buf, uint32_t len)=0 | 
| Sets the payload size of the buffer.  More... | |
Definition at line 45 of file NetStackMemoryManager.h.
| 
 | pure virtual | 
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 | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
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 | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
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 | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
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 | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | virtual | 
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 | 
| 
 | virtual | 
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 | 
| 
 | pure virtual | 
Free memory buffer chain.
Frees all buffers from the chained list.
| buf | Memory buffer chain to be freed. | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
Return payload size of the buffer.
| buf | Memory buffer | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
Returns the next buffer.
Returns the next buffer from the memory buffer chain.
| buf | Memory buffer | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
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 | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
Return pointer to the payload of the buffer.
| buf | Memory buffer | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
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 | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.
| 
 | pure virtual | 
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 to the allocated size | 
Implemented in EmacTestMemoryManager, and NanostackMemoryManager.