39 #ifndef reda_bufferpool_h
40 #define reda_bufferpool_h
54 struct REDA_BufferPoolProperty
61 RTI_SIZE_T buffer_size;
66 RTI_SIZE_T max_buffers;
79 #define REDA_BUFFERPOOL_FLAG_ARRAY_ALLOC (0x1)
85 #define REDA_BufferPoolProperty_INITIALIZER \
97 #define REDA_BUFFERPOOL_UNLIMITED (0xffffffff)
99 struct REDA_BufferPool;
104 typedef struct REDA_BufferPool *REDA_BufferPool_T;
119 FUNCTION_MUST_TYPEDEF(
121 (*REDA_BufferPool_initializeFunc_T)(
void *initialize_param,
void *buffer)
135 FUNCTION_SHOULD_TYPEDEF(
137 (*REDA_BufferPool_finalizeFunc_T)(
void *finalize_param,
void *buffer)
161 MUST_CHECK_RETURN REDADllExport REDA_BufferPool_T
162 REDA_BufferPool_new(
const char* name,
struct REDA_BufferPoolProperty *property,
163 REDA_BufferPool_initializeFunc_T initialize_func,
164 void *initialize_param,
165 REDA_BufferPool_finalizeFunc_T finalize_func,
166 void *finalize_param);
184 SHOULD_CHECK_RETURN REDADllExport RTI_BOOL
185 REDA_BufferPool_delete(REDA_BufferPool_T pool);
204 MUST_CHECK_RETURN REDADllExport
void*
205 REDA_BufferPool_get_buffer(REDA_BufferPool_T pool);
224 REDA_BufferPool_return_buffer(REDA_BufferPool_T pool,
void *buffer);