Make a memory pool that is based on System V shared memory (shmget(2) etc.). This implementation allows memory to be shared between processes. If your platform doesn't support System V shared memory (e.g., Win32 and many RTOS platforms do not) then you should use ACE_MMAP_Memory_Pool instead of this class. In fact, you should probably use ACE_MMAP_Memory_Pool on platforms that do support System V shared memory since it provides more powerful features, such as persistent backing store and greatly scalability.
More...
|
| ACE_Shared_Memory_Pool (const ACE_TCHAR *backing_store_name=nullptr, const OPTIONS *options=nullptr) |
| Initialize the pool.
|
|
virtual | ~ACE_Shared_Memory_Pool ()=default |
|
virtual void * | init_acquire (size_t nbytes, size_t &rounded_bytes, int &first_time) |
| Ask system for initial chunk of local memory.
|
|
virtual void * | acquire (size_t nbytes, size_t &rounded_bytes) |
| Ask system for more shared memory.
|
|
virtual int | release (int destroy=1) |
| Instruct the memory pool to release all of its resources.
|
|
virtual int | sync (ssize_t len=-1, int flags=MS_SYNC) |
|
virtual int | sync (void *addr, size_t len, int flags=MS_SYNC) |
| Sync the memory region to the backing store starting at addr.
|
|
virtual int | protect (ssize_t len=-1, int prot=PROT_RDWR) |
|
virtual int | protect (void *addr, size_t len, int prot=PROT_RDWR) |
|
virtual void * | base_addr () const |
|
virtual void | dump () const |
| Dump the state of an object.
|
|
virtual | ~ACE_Event_Handler ()=default |
| Destructor is virtual to enable proper cleanup.
|
|
virtual ACE_HANDLE | get_handle () const |
| Get the I/O handle.
|
|
virtual void | set_handle (ACE_HANDLE) |
| Set the I/O handle.
|
|
virtual int | priority () const |
|
virtual void | priority (int priority) |
| Set the priority of the Event_Handler.
|
|
virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
| Called when input events occur (e.g., connection or data).
|
|
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).
|
|
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.
|
|
virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) |
|
virtual int | resume_handler () |
|
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.
|
|
virtual ACE_Reactor * | reactor () const |
| Get the event demultiplexors.
|
|
virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface () const |
| Get only the reactor's timer related interface.
|
|
virtual Reference_Count | add_reference () |
| Increment reference count on the handler.
|
|
virtual Reference_Count | remove_reference () |
| Decrement reference count on the handler.
|
|
Reference_Counting_Policy & | reference_counting_policy () |
| Current Reference_Counting_Policy.
|
|
Make a memory pool that is based on System V shared memory (shmget(2) etc.). This implementation allows memory to be shared between processes. If your platform doesn't support System V shared memory (e.g., Win32 and many RTOS platforms do not) then you should use ACE_MMAP_Memory_Pool instead of this class. In fact, you should probably use ACE_MMAP_Memory_Pool on platforms that do support System V shared memory since it provides more powerful features, such as persistent backing store and greatly scalability.