ACE  6.3.3
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
ACE_MMAP_Memory_Pool_Options Class Reference

Helper class for MMAP Memory Pool constructor options. More...

#include <MMAP_Memory_Pool.h>

Public Types

enum  { FIRSTCALL_FIXED = 0, ALWAYS_FIXED = 1, NEVER_FIXED = 2 }
 

Public Member Functions

 ACE_MMAP_Memory_Pool_Options (const void *base_addr=ACE_DEFAULT_BASE_ADDR, int use_fixed_addr=ALWAYS_FIXED, bool write_each_page=true, size_t minimum_bytes=0, u_int flags=0, bool guess_on_fault=true, LPSECURITY_ATTRIBUTES sa=0, mode_t file_mode=ACE_DEFAULT_FILE_PERMS, bool unique_=false, bool install_signal_handler=true)
 Constructor. More...
 

Public Attributes

const void * base_addr_
 Base address of the memory-mapped backing store. More...
 
int use_fixed_addr_
 
bool write_each_page_
 
size_t minimum_bytes_
 What the minimim bytes of the initial segment should be. More...
 
u_int flags_
 Any special flags that need to be used for mmap. More...
 
bool guess_on_fault_
 
LPSECURITY_ATTRIBUTES sa_
 Pointer to a security attributes object. Only used on NT. More...
 
mode_t file_mode_
 File mode for mmaped file, if it is created. More...
 
bool unique_
 Do we want an unique backing store name? More...
 
bool install_signal_handler_
 Should we install a signal handler. More...
 

Private Member Functions

 ACE_MMAP_Memory_Pool_Options (const ACE_MMAP_Memory_Pool_Options &)
 
ACE_MMAP_Memory_Pool_Optionsoperator= (const ACE_MMAP_Memory_Pool_Options &)
 

Detailed Description

Helper class for MMAP Memory Pool constructor options.

This should be a nested class, but that breaks too many compilers.

Member Enumeration Documentation

anonymous enum
Enumerator
FIRSTCALL_FIXED 

The base address from the first call to mmap will be used for subsequent calls to mmap.

ALWAYS_FIXED 

The base address specified in base_addr will be used in all calls to mmap.

NEVER_FIXED 

The base address will be selected by the OS for each call to mmap. Caution should be used with this mode since a call that requires the backing store to grow may change pointers that are cached by the application.

Constructor & Destructor Documentation

ACE_MMAP_Memory_Pool_Options::ACE_MMAP_Memory_Pool_Options ( const void *  base_addr = ACE_DEFAULT_BASE_ADDR,
int  use_fixed_addr = ALWAYS_FIXED,
bool  write_each_page = true,
size_t  minimum_bytes = 0,
u_int  flags = 0,
bool  guess_on_fault = true,
LPSECURITY_ATTRIBUTES  sa = 0,
mode_t  file_mode = ACE_DEFAULT_FILE_PERMS,
bool  unique_ = false,
bool  install_signal_handler = true 
)

Constructor.

ACE_MMAP_Memory_Pool_Options::ACE_MMAP_Memory_Pool_Options ( const ACE_MMAP_Memory_Pool_Options )
private

Member Function Documentation

ACE_MMAP_Memory_Pool_Options& ACE_MMAP_Memory_Pool_Options::operator= ( const ACE_MMAP_Memory_Pool_Options )
private

Member Data Documentation

const void* ACE_MMAP_Memory_Pool_Options::base_addr_

Base address of the memory-mapped backing store.

mode_t ACE_MMAP_Memory_Pool_Options::file_mode_

File mode for mmaped file, if it is created.

u_int ACE_MMAP_Memory_Pool_Options::flags_

Any special flags that need to be used for mmap.

bool ACE_MMAP_Memory_Pool_Options::guess_on_fault_

Try to remap without knowing the faulting address. This parameter is ignored on platforms that know the faulting address (UNIX with SI_ADDR and Win32).

bool ACE_MMAP_Memory_Pool_Options::install_signal_handler_

Should we install a signal handler.

size_t ACE_MMAP_Memory_Pool_Options::minimum_bytes_

What the minimim bytes of the initial segment should be.

LPSECURITY_ATTRIBUTES ACE_MMAP_Memory_Pool_Options::sa_

Pointer to a security attributes object. Only used on NT.

bool ACE_MMAP_Memory_Pool_Options::unique_

Do we want an unique backing store name?

int ACE_MMAP_Memory_Pool_Options::use_fixed_addr_

Determines whether we set base_addr_ or if mmap(2) selects it FIRSTCALL_FIXED The base address from the first call to mmap will be used for subsequent calls to mmap ALWAYS_FIXED The base address specified in base_addr will be used in all calls to mmap. NEVER_FIXED The base address will be selected by the OS for each call to mmap. Caution should be used with this mode since a call that requires the backing store to grow may change pointers that are cached by the application.

bool ACE_MMAP_Memory_Pool_Options::write_each_page_

Should each page be written eagerly to avoid surprises later on?


The documentation for this class was generated from the following files: