NAME

ACE_PI_Control_Block - This information is stored in memory allocated by the Memory_Pool.

SYNOPSIS

#include <ace/Malloc.h>

class ACE_PI_Control_Block { public: typedef ACE_Based_Pointer<ACE_Malloc_Header> MALLOC_HEADER_PTR; typedef ACE_Based_Pointer<ACE_Name_Node> NAME_NODE_PTR; typedef ACE_Based_Pointer_Basic<char> CHAR_PTR;

class ACE_Malloc_Header { public: ACE_Malloc_Header (void); ACE_Malloc_Header *next_block_; static void init_ptr ( ACE_Malloc_Header **ptr, ACE_Malloc_Header *init, void *base_addr ); size_t size_; long padding_[ACE_MALLOC_PADDING_SIZE < 1 ? 1 : ACE_MALLOC_PADDING_SIZE]; void dump (void) const; ACE_Malloc_Header (void); MALLOC_HEADER_PTR next_block_; static void init_ptr ( MALLOC_HEADER_PTR *ptr, ACE_Malloc_Header *init, void *base_addr ); size_t size_; long padding_[ACE_PI_MALLOC_PADDING_SIZE < 1 ? 1 : ACE_PI_MALLOC_PADDING_SIZE]; void dump (void) const; private: inline ACE_UNIMPLEMENTED_FUNC ( void operator= (const ACE_Malloc_Header &) ); };

static void print_alignment_info (void); NAME_NODE_PTR name_head_; MALLOC_HEADER_PTR freep_; char lock_name_[MAXNAMELEN]; ACE_Malloc_Stats malloc_stats_; long align_[ACE_PI_CONTROL_BLOCK_ALIGN_LONGS < 1 ? 1 : ACE_PI_CONTROL_BLOCK_ALIGN_LONGS]; ACE_Malloc_Header base_; void dump (void) const; private: inline ACE_UNIMPLEMENTED_FUNC ( void operator= (const ACE_Control_Block &) ); };

DESCRIPTION

This class implements the control block structure that can be used in a "position indepent" fashion, i.e., you don't need to "map" the underlying memory pool to the same address in processes sharing the memory. The tradoff of this flexibility is more expensive malloc/free operations.

PUBLIC MEMBERS

typedef ACE_Based_Pointer<ACE_Malloc_Header> MALLOC_HEADER_PTR;

typedef ACE_Based_Pointer<ACE_Name_Node> NAME_NODE_PTR;

typedef ACE_Based_Pointer_Basic<char> CHAR_PTR;

static void print_alignment_info (void);

NAME_NODE_PTR name_head_;

MALLOC_HEADER_PTR freep_;

char lock_name_[MAXNAMELEN];

ACE_Malloc_Stats malloc_stats_;

    long align_[ACE_PI_CONTROL_BLOCK_ALIGN_LONGS < 1 ? 1 : ACE_PI_CONTROL_BLOCK_ALIGN_LONGS];
    

ACE_Malloc_Header base_;

void dump (void) const;

PRIVATE MEMBERS

inline ACE_UNIMPLEMENTED_FUNC (
    void operator= (const ACE_Control_Block &)
    );

AUTHOR

Doug Schmidt and Irfan Pyarali

LIBRARY

ace