|
|
| RtEventManagerSharedData (size_t memorySize) |
| |
| | SharedMemory (const char *name) |
| | Opens an existing shared memory. More...
|
| |
| | SharedMemory (const char *name, size_t memorySize) |
| | Creates an non-existing instance, throws if yet exists. More...
|
| |
|
| ~SharedMemory (void)=default |
| | Deallocates the memory for this management object but not the memory shared between processes.
|
| |
|
void | Remove (void) |
| | Removes the shared memory from the system.
|
| |
| const Arp::String & | GetName (void) const |
| | Returns the name of the memory object. More...
|
| |
| size_t | GetSize (void) const |
| | Returns the capacity of the shared memory in bytes. More...
|
| |
| byte * | Allocate (size_t size) |
| | Tries to allocate size amount of bytes in the memory. More...
|
| |
| void | Deallocate (byte *pMemory) |
| | Marks the memory pointed to by pMemory available for new allocation requests. More...
|
| |
| template<class T > |
| Ptr< T > | Get (const char *name) |
| | Tries to find a previously allocated named object. More...
|
| |
| template<class T , typename ... TArgs> |
| Ptr< T > | GetOrConstruct (const char *name, TArgs... args) |
| | Tries to find object identified by name, creates a new one if the object does not exists yet. More...
|
| |
| template<class T , typename ... TArgs> |
| Ptr< T > | Construct (const char *name, TArgs... args) |
| | Creates a named object in the shared memory. More...
|
| |
| template<class T > |
| void | Destroy (const char *name) |
| | Deallocates the object in the shared memory, also calling the objects destructor. More...
|
| |
| template<class T , typename ... TArgs> |
| Ptr< T > | ConstructUnnamed (TArgs... args) |
| | Creates an unnamed object in the shared memory. More...
|
| |
| template<class T > |
| void | DestroyUnnamed (SharedMemory::Ptr< T > ptr) |
| | Deallocates the unnamed object in the shared memory, also calling the objects destructor. More...
|
| |
| size_t | GetFreeMemory (void) const |
| | Obtain the number of free bytes in the shared memory. More...
|
| |
|
void | ZeroFreeMemory (void) |
| | Writes zero in all bytes not yet allocated.
|
| |
| bool | AllMemoryDeallocated (void) |
| | Checks if all memory has been deallocated. More...
|
| |
| bool | CheckSanity (void) |
| | Performs a sanity check over the shared memory. More...
|
| |
|
|
using | Base = SharedMemory |
| |
|
using | DerivedType = RtEventManagerSharedData |
| |
|
using | SingletonBase = AppDomainSingleton< RtEventManagerSharedData > |
| |
|
using | SharedMemory = boost::interprocess::managed_shared_memory |
| |
|
using | SegmentManager = SharedMemory::segment_manager |
| |
|
using | SharedMemoryPermission = boost::interprocess::permissions |
| |
|
using | Ptr = boost::interprocess::offset_ptr< T > |
| |
|
using | ConstPtr = boost::interprocess::offset_ptr< const T > |
| |
|
using | String = boost::interprocess::basic_string< char, std::char_traits< char >, Allocator< char > > |
| |
|
using | vector = boost::interprocess::vector< T, Allocator< T > > |
| |
|
using | list = boost::interprocess::list< T, Allocator< T > > |
| |
|
using | map = boost::interprocess::map< TKey, T, TCompare, Allocator< std::pair< const TKey, T > > > |
| |
|
using | set = boost::interprocess::set< T, TCompare, Allocator< T > > |
| |
|
typedef boost::interprocess::managed_shared_memory | SharedMemoryImpl |
| |
|
typedef SharedMemoryImpl::segment_manager | SegmentManager |
| |
|
typedef boost::interprocess::permissions | SharedMemoryPermission |
| |
|
template<class T > |
| using | Ptr = boost::interprocess::offset_ptr< T > |
| | Returned pointer types are shared memory based offset pointer.
|
| |
|
static ARP_CXX_SYMBOL_EXPORT void | CreateInstance (size_t memorySize) |
| |
|
static void | OpenInstance (void) |
| |
|
static void | CloseInstance (bool removeMemory=false) |
| |
|
static void | Remove (void) |
| |
|
static void | WaitInstance (const char *waitMessage, uint32 timeout=-1) |
| |
Static Public Member Functions inherited from Arp::AppDomainSingleton< RtEventManagerSharedData > |
| static RtEventManagerSharedData & | CreateInstance (Args &&... args) |
| | Creates this singleton instance. More...
|
| |
| static bool | IsCreated (void) |
| | Determines if this singleton instance is created yet. More...
|
| |
| static RtEventManagerSharedData & | GetInstance (void) |
| | Gets a reference of the singleton instance. More...
|
| |
| static RtEventManagerSharedData * | GetInstancePtr (void) |
| | Gets a pointer to the singleton instance. More...
|
| |
| static void | DisposeInstance (void) |
| | Disposes this singleton instance. More...
|
| |
Protected Types inherited from Arp::AppDomainSingleton< RtEventManagerSharedData > |
|
typedef AppDomainSingleton< RtEventManagerSharedData > | SingletonBase |
| | Defines this type to be used from derived classes.
|
| |
|
| SharedData (size_t memorySize) |
| |
Protected Member Functions inherited from Arp::AppDomainSingleton< RtEventManagerSharedData > |
|
| AppDomainSingleton (void)=default |
| | The protected default constructor.
|
| |
|
| ~AppDomainSingleton (void)=default |
| | The protected default destructor.
|
| |
|
Arp::String | memoryName |
| | Name of memory identifying the shared memory inside the operating system.
|
| |
|
SharedMemoryImpl | sharedMemoryImpl |
| | Actual implementation of the shared memory functionality.
|
| |