Template class to map typed reusable objects into shared memory heap.
More...
#include <mapped.h>
Public Member Functions |
T * | get (void) |
| Request a typed reusable object from the free list or mapped space.
|
T * | getLocked (void) |
| Used to get a typed object from the reuse pool when the mutex lock is already held.
|
T * | getTimed (timeout_t timeout) |
| Request a typed reusable object from the free list or mapped space.
|
void | initialize (void) |
| Initialize typed data in mapped array.
|
| mapped_reuse (char *name, unsigned number) |
| Construct mapped reuse array of typed objects.
|
| operator bool () |
| Check whether there are typed objects available to be allocated.
|
| operator T * () |
| Request a typed reusable object from the free list or mapped space.
|
bool | operator! () |
| Check whether there are typed objects available to be allocated.
|
T * | operator* () |
| Request a typed reusable object from the free list or mapped space by pointer reference.
|
T * | pos (size_t member) |
| Get typed object from a specific member offset within the mapped segment.
|
void | release (T *object) |
| Used to release a typed object back to the reuse typed object pool.
|
void | removeLocked (T *object) |
| Used to return a typed object to the reuse pool when the mutex lock is already held.
|
T * | request (void) |
| Request a typed reusable object from the free list or mapped space.
|
bool | avail (void) |
| Check whether there are objects available to be allocated.
|
| MappedReuse (char *name, size_t size, unsigned count) |
| Construct a named memory segment for use with managed fixed size reusable objects.
|
void | removeLocked (ReusableObject *object) |
| Used to return an object to the reuse pool when the mutex lock is already held.
|
Additional Inherited Members |
void | create (char *fname, unsigned count) |
| MappedReuse (size_t osize) |
static void | disable (void) |
| An API that allows "disabling" of publishing shared memory maps.
|
static void | remove (char *name) |
| Destroy a previously existing memory segment under the specified name.
|
Detailed Description
template<class T>
class ucommon::mapped_reuse< T >
Template class to map typed reusable objects into shared memory heap.
This is used to construct a read/write heap of objects that are held in a named shared memory segment. Member objects are allocated from a reusable heap but are stored in the shared memory segment as a vector.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 344 of file mapped.h.
Constructor & Destructor Documentation
Construct mapped reuse array of typed objects.
This is constructed for read/write access. mapped_view is used in all cases for read-only access to mapped data.
- Parameters
-
name | of mapped segment to construct. |
number | of objects in the mapped vector. |
Definition at line 358 of file mapped.h.
Member Function Documentation
Request a typed reusable object from the free list or mapped space.
This method blocks until an object becomes available.
- Returns
- free typed object.
Reimplemented from ucommon::MappedReuse.
Definition at line 411 of file mapped.h.
Used to get a typed object from the reuse pool when the mutex lock is already held.
- Returns
- typed object from pool or NULL if exhausted.
Reimplemented from ucommon::MappedReuse.
Definition at line 445 of file mapped.h.
Request a typed reusable object from the free list or mapped space.
This method blocks until an object becomes available from another thread or the timeout expires.
- Parameters
-
- Returns
- free typed object.
Reimplemented from ucommon::MappedReuse.
Definition at line 421 of file mapped.h.
Initialize typed data in mapped array.
Assumes default constructor for type.
Definition at line 365 of file mapped.h.
Check whether there are typed objects available to be allocated.
- Returns
- true if objects are available.
Reimplemented from ucommon::MappedMemory.
Definition at line 372 of file mapped.h.
Request a typed reusable object from the free list or mapped space.
This method blocks until an object becomes available.
- Returns
- free object.
Definition at line 387 of file mapped.h.
Check whether there are typed objects available to be allocated.
- Returns
- true if no more typed objects are available.
Reimplemented from ucommon::MappedMemory.
Definition at line 379 of file mapped.h.
Request a typed reusable object from the free list or mapped space by pointer reference.
This method blocks until an object becomes available.
- Returns
- free object.
Definition at line 395 of file mapped.h.
Get typed object from a specific member offset within the mapped segment.
- Parameters
-
member | offset from start of segment. Will fault if past end. |
- Returns
- typed object pointer.
Definition at line 403 of file mapped.h.
Used to release a typed object back to the reuse typed object pool.
- Parameters
-
Definition at line 452 of file mapped.h.
Used to return a typed object to the reuse pool when the mutex lock is already held.
- Parameters
-
Definition at line 437 of file mapped.h.
Request a typed reusable object from the free list or mapped space.
This method does not block or wait.
- Returns
- free typed object if available or NULL.
Reimplemented from ucommon::MappedReuse.
Definition at line 429 of file mapped.h.
The documentation for this class was generated from the following file: