Detailed Description

The globus_memory abstraction implements a memory management pool for groups of same-sized data items.

Function Documentation

\fBglobus_bool_t\fP globus_memory_destroy (globus_memory_t *mem_info)

Destroy a memory pool. Free all the memory associated with the memory management structure. For every call to globus_memory_init() there should be a call to globus_memory_destroy() or else memory will leak.

\fBglobus_bool_t\fP globus_memory_init (globus_memory_t *mem_info, intnode_size, intnode_count)

Initialize memory pool. Initialize the globus memory management structure.

Before using any functions associate with a memory structure this function must be called.

Parameters:

mem_info The memory management datatype

node_size The size of the memory to allocated with each pop.

node_count The initial number of nodes allocated with the memory management structure. If it is exceded more will be allocated.

void* globus_memory_pop_node (globus_memory_t *mem_info)

Retrieve a memory item from a pool. Pop a chunk of memory out of the memory management structure. Similar to malloc(). When no longer using this item, return it to the pool via globus_memory_push_node().

\fBglobus_bool_t\fP globus_memory_push_node (globus_memory_t *mem_info, void *buffer)

Return a memory item to the pool. Push a chunk of memory back into the memory management structure. Similar to free().

Author

Generated automatically by Doxygen for globus_common from the source code.