35#ifndef MEMPOOL_H_INCLUDED
36#define MEMPOOL_H_INCLUDED
38#include "memutils/memory_manager/RuntimeQue.h"
62 if (m_seg_no_que.que_area() == NULL || m_ref_cnt_array == NULL) {
68 PoolId getPoolId()
const {
return m_attr.id; }
69 PoolType getPoolType()
const {
return m_attr.type; }
70 PoolAddr getPoolAddr()
const {
return m_attr.addr; }
71 PoolSize getPoolSize()
const {
return m_attr.size; }
72 NumSeg getPoolNumSegs()
const {
return m_attr.num_segs; }
73 NumSeg getPoolNumAvailSegs()
const {
return m_seg_no_que.size(); }
74#ifdef CONFIG_MEMUTILS_MEMORY_MANAGER_USE_FENCE
75 bool isPoolFenceEnable()
const {
return m_attr.fence; }
77 uint32_t verifyPoolFence();
79#ifdef USE_MEMMGR_MULTI_CORE
80 LockId getPoolLockId()
const {
return m_attr.spl_id; }
85 SegRefCnt getSegRefCnt(NumSeg seg_no)
const {
86 D_ASSERT(seg_no != NullSegNo && seg_no <= getPoolNumSegs());
87 D_ASSERT(m_ref_cnt_array[seg_no - 1] != 0);
88 return m_ref_cnt_array[seg_no - 1];
90 void incSegRefCnt(NumSeg seg_no);
102 MemHandleProxy allocSeg();
132 SegRefCnt*
const m_ref_cnt_array;
Types definitions for "Memory Manager".
Definition: cpp_util.h:45
Memory Management Class for "Memory Manager Lite". User can create only one instance.
Definition: Manager.h:73
Memory Handler Base Class for Memory Handler Base Class. This class`s methods can called only from Me...
Definition: MemHandleBase.h:66
namespace for "Memory Manager".
uint8_t PoolType
Definition: MemMgrTypes.h:95
Definition: MemMgrTypes.h:88
Definition: MemMgrTypes.h:177