ADTF  3.18.2
Memory Allocator Service Plugin

Memory Allocator Service

Introduction

The Memory Allocator Service is a Service to provide a Sample Buffer (adtf::streaming::ant::ISampleBuffer) pre-allocation.

Plugin Information
Plugin Filenameadtf_memory.adtfplugin
Plugin Descriptionadtf_memory.plugindescription
Plugin NameMemory Allocator Service Plugin
LicenseADTF
Support Mailsupport@digitalwerk.net
Homepage URLhttps://support.digitalwerk.net/
Plugin Versions
Plugin Version3.18.2
Plugin File Version1.0
adtf3.18.2
adtf::ucom3.1.0
Component Information
NameMemory Allocator Service
CIDmemory_allocator.service.adtf.cid
DescriptionUse this System Service to extend the ADTF System with pre-allocation Sample Buffers.
TypeService
Default Runlevelsession
Properties
NameValueTypeDescriptionSubproperties
memory_pool_elements8192,8192,8192,8192,8192,2048cStringSpecifies the number of elements to be created in each assigned memory block.
memory_pool_mode1tInt32(0) disabled: The memory service will no longer manage the memory blocks. Instead the default new and delete operators will be used to allocate and deallocate the requested memory.(1) active: The Memory Manger allocates and frees the memory using the settings from memory_pool_sizes and memory_pool_elements.(2) statistic: The memory service runs in statistic mode. After a running configuration has been terminated, information on memory consumption are displayed on console view.Value List:
disabled = 0
active = 1
statistic = 2
memory_pool_sizes16,32,128,512,4096,65536cStringSpecifies the size in bytes of each managed memory block. The memory manager allows users to define up to 16 different sizes of memory block. It is recommended to list the size in ascending order. Anyway they will be sorted automatically if the order is not correct.
Provided Interfaces
IID
memory_allocator.ant.services.adtf.iid

Memory Allocator Concept

When ADTF requests a block of memory, the memory manager allocates that block out of the larger blocks it has received from the operating system. Memory blocks that are no longer required will be recycled for reuse to conserve operating system memory resources. It is the responsibility of the programmer to decide when memory can be reused.