ACE
6.4.1
|
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... | |
![]() | |
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... | |
![]() | |
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... | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. More... | |
![]() | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. More... | |
Additional Inherited Members | |
![]() | |
typedef ACE_MMAP_Memory_Pool_Options | OPTIONS |
![]() | |
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 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... | |
![]() | |
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_Count > | Atomic_Reference_Count |
Typedef for implementation of reference counting. More... | |
![]() | |
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... | |
![]() | |
ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY) | |
Force ACE_Event_Handler to be an abstract base class. More... | |
![]() | |
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... | |
![]() | |
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.
ACE_Lite_MMAP_Memory_Pool::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.