ACE
6.3.3
|
Make a ``lighter-weight'' memory pool based ACE_Mem_Map. More...
#include <MMAP_Memory_Pool.h>
Public Member Functions | |
ACE_Lite_MMAP_Memory_Pool (const ACE_TCHAR *backing_store_name=0, const OPTIONS *options=0) | |
Initialize the pool. More... | |
virtual | ~ACE_Lite_MMAP_Memory_Pool (void) |
Destructor. More... | |
virtual int | sync (size_t len, int flags=MS_SYNC) |
Overwrite the default sync behavior with no-op. More... | |
virtual int | sync (int flags=MS_SYNC) |
Overwrite the default sync behavior with no-op. More... | |
virtual int | sync (void *addr, size_t len, int flags=MS_SYNC) |
Overwrite the default sync behavior with no-op. More... | |
Public Member Functions inherited from ACE_MMAP_Memory_Pool | |
ACE_MMAP_Memory_Pool (const ACE_TCHAR *backing_store_name=0, const OPTIONS *options=0) | |
Initialize the pool. More... | |
virtual | ~ACE_MMAP_Memory_Pool (void) |
Destructor. More... | |
virtual void * | init_acquire (size_t nbytes, size_t &rounded_bytes, int &first_time) |
Ask system for initial chunk of shared memory. More... | |
virtual void * | acquire (size_t nbytes, size_t &rounded_bytes) |
virtual int | release (int destroy=1) |
Instruct the memory pool to release all of its resources. More... | |
virtual int | protect (size_t len, int prot=PROT_RDWR) |
virtual int | protect (int prot=PROT_RDWR) |
virtual int | protect (void *addr, size_t len, int prot=PROT_RDWR) |
virtual int | seh_selector (void *) |
virtual int | remap (void *addr) |
virtual void * | base_addr (void) const |
Return the base address of this memory pool. More... | |
virtual void | dump (void) const |
Dump the state of an object. More... | |
ACE_Mem_Map const & | mmap (void) const |
Get reference to underlying ACE_Mem_Map object. More... | |
ACE_Mem_Map & | mmap (void) |
Get reference to underlying ACE_Mem_Map object. More... | |
Public Member Functions inherited from ACE_Event_Handler | |
virtual | ~ACE_Event_Handler (void) |
Destructor is virtual to enable proper cleanup. More... | |
virtual ACE_HANDLE | get_handle (void) const |
Get the I/O handle. More... | |
virtual void | set_handle (ACE_HANDLE) |
Set the I/O handle. More... | |
virtual int | priority (void) const |
virtual void | priority (int priority) |
Set the priority of the Event_Handler. More... | |
virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
Called when input events occur (e.g., connection or data). More... | |
virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
Called when an exceptional events occur (e.g., SIGURG). More... | |
virtual int | handle_timeout (const ACE_Time_Value ¤t_time, const void *act=0) |
virtual int | handle_exit (ACE_Process *) |
Called when a process exits. More... | |
virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) |
virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) |
virtual int | resume_handler (void) |
virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual void | reactor (ACE_Reactor *reactor) |
Set the event demultiplexors. More... | |
virtual ACE_Reactor * | reactor (void) const |
Get the event demultiplexors. More... | |
virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface (void) const |
Get only the reactor's timer related interface. More... | |
virtual Reference_Count | add_reference (void) |
Increment reference count on the handler. More... | |
virtual Reference_Count | remove_reference (void) |
Decrement reference count on the handler. More... | |
Reference_Counting_Policy & | reference_counting_policy (void) |
Current Reference_Counting_Policy. More... | |
Additional Inherited Members | |
Public Types inherited from ACE_MMAP_Memory_Pool | |
typedef ACE_MMAP_Memory_Pool_Options | OPTIONS |
Public Types inherited from ACE_Event_Handler | |
enum | { LO_PRIORITY = 0, HI_PRIORITY = 10, NULL_MASK = 0, READ_MASK = (1 << 0), WRITE_MASK = (1 << 1), EXCEPT_MASK = (1 << 2), ACCEPT_MASK = (1 << 3), CONNECT_MASK = (1 << 4), TIMER_MASK = (1 << 5), QOS_MASK = (1 << 6), GROUP_QOS_MASK = (1 << 7), SIGNAL_MASK = (1 << 8), ALL_EVENTS_MASK, RWE_MASK, DONT_CALL = (1 << 9) } |
enum | { ACE_EVENT_HANDLER_NOT_RESUMED = -1, ACE_REACTOR_RESUMES_HANDLER = 0, ACE_APPLICATION_RESUMES_HANDLER } |
typedef long | Reference_Count |
Reference count type. More... | |
Static Public Member Functions inherited from ACE_Event_Handler | |
static ACE_THR_FUNC_RETURN | read_adapter (void *event_handler) |
static int | register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED) |
static int | remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr) |
Performs the inverse of the register_stdin_handler() method. More... | |
Public Attributes inherited from ACE_MMAP_Memory_Pool | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. More... | |
Protected Types inherited from ACE_Event_Handler | |
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_Count > | Atomic_Reference_Count |
Typedef for implementation of reference counting. More... | |
Protected Member Functions inherited from ACE_MMAP_Memory_Pool | |
virtual size_t | round_up (size_t nbytes) |
virtual int | commit_backing_store_name (size_t rounded_bytes, size_t &map_size) |
virtual int | map_file (size_t map_size) |
Memory map the file up to map_size bytes. More... | |
Protected Member Functions inherited from ACE_Event_Handler | |
ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY) | |
Force ACE_Event_Handler to be an abstract base class. More... | |
Protected Attributes inherited from ACE_MMAP_Memory_Pool | |
ACE_Mem_Map | mmap_ |
Memory-mapping object. More... | |
void * | base_addr_ |
int | use_fixed_addr_ |
Must we use the base_addr_ or can we let mmap(2) select it? More... | |
int | flags_ |
Flags passed into ACE_OS::mmap(). More... | |
bool | write_each_page_ |
size_t | minimum_bytes_ |
What the minimum bytes of the initial segment should be. More... | |
ACE_TCHAR | backing_store_name_ [MAXPATHLEN+1] |
Name of the backing store where the shared memory pool is kept. More... | |
bool | guess_on_fault_ |
LPSECURITY_ATTRIBUTES | sa_ |
Security attributes object, only used on NT. More... | |
mode_t | file_mode_ |
Protection mode for mmaped file. More... | |
bool | install_signal_handler_ |
Should we install a signal handler. More... | |
Protected Attributes inherited from ACE_Event_Handler | |
Atomic_Reference_Count | reference_count_ |
Reference count. More... | |
Make a ``lighter-weight'' memory pool based ACE_Mem_Map.
This implementation allows memory to be shared between processes. However, unlike the ACE_MMAP_Memory_Pool the sync
methods are no-ops, which means that we don't pay for the price of flushing the memory to the backing store on every update. Naturally, this trades off increased performance for less reliability if the machine crashes.
ACE_Lite_MMAP_Memory_Pool::ACE_Lite_MMAP_Memory_Pool | ( | const ACE_TCHAR * | backing_store_name = 0 , |
const OPTIONS * | options = 0 |
||
) |
Initialize the pool.
|
virtual |
Destructor.
|
virtual |
Overwrite the default sync behavior with no-op.
Reimplemented from ACE_MMAP_Memory_Pool.
|
virtual |
Overwrite the default sync behavior with no-op.
Reimplemented from ACE_MMAP_Memory_Pool.
|
virtual |
Overwrite the default sync behavior with no-op.
Reimplemented from ACE_MMAP_Memory_Pool.