The CoreLinuxGuardPool is a private SemaphoreGroup resource for class objects that require synchronization capability.
More...
#include <CoreLinuxGuardPool.hpp>
|
static bool | isLocked (SynchronizedPtr) throw ( SemaphoreException ) |
| isLocked determines if the object is currently locked. More...
|
|
static Short | getInitialPoolSize (void) |
| Return the initial guard count in the pool.
|
|
static Short | getExtentSize (void) |
| Return the current grow by count for the pool.
|
|
static Short | getTotalCurrentSize (void) |
| Return the current guard pool size.
|
|
static void | lock (SynchronizedPtr) throw ( SemaphoreException ) |
| lock is called by a guard when control is needed over a objects resource access. More...
|
|
static void | release (SynchronizedPtr) throw ( SemaphoreException ) |
| release is called by a guard object during its destruction. More...
|
|
static void | setExtentSize (Short aExtentSize) throw ( Assertion ) |
| Run time interface for changing the extent size. More...
|
|
|
bool | isSynchronizedLocked (SynchronizedPtr) throw ( SemaphoreException ) |
| isSynchronizedLocked resolves whether Synchronized is in a locked state. More...
|
|
void | lockSynchronized (SynchronizedPtr) throw ( SemaphoreException ) |
| lockSynchronized manages the associations of objects to the semaphore in the pool in establishing the guard. More...
|
|
void | releaseSynchronized (SynchronizedPtr) throw ( SemaphoreException ) |
| releaseSynchronized manages the associations of objects to the semaphore in the pool when releasing a guard. More...
|
|
void | createPoolGroup (Short numSems, Short initSize=0) |
| createPoolGroup creates a semaphore set with the requested number of semaphores in the group and will add the semaphores to theSemaphores with initial count and index set properly More...
|
|
void | destroyPoolGroup (Index aGroup) |
| destroyPoolGroup validates that all the semaphores in the extent are not being used and then destroys the extent and all the semaphores associated with it. More...
|
|
The CoreLinuxGuardPool is a private SemaphoreGroup resource for class objects that require synchronization capability.
- See also
- corelinux::Synchronized, corelinux::PoolDescriptor
corelinux::CoreLinuxGuardPool::CoreLinuxGuardPool |
( |
Short |
numInit = 8 , |
|
|
Short |
numExt = 0 |
|
) |
| |
throw | ( | Assertion |
| ) | | |
Default constructor.
- Parameters
-
Short | number of base semaphores to use in pool |
Short | number of semaphores to increment by when going into extents. If 0, no extents are allowed. |
- Exceptions
-
Assertion | if Singleton<CoreLinuxGuardPool> already established. |
void corelinux::CoreLinuxGuardPool::createPoolGroup |
( |
Short |
numSems, |
|
|
Short |
initSize = 0 |
|
) |
| |
|
protected |
createPoolGroup creates a semaphore set with the requested number of semaphores in the group and will add the semaphores to theSemaphores with initial count and index set properly
- Parameters
-
Short | the semaphore count |
Short | the number to insert into theSemaphores If the default is used, all go into theSemaphores |
References corelinux::CoreLinuxGuardGroup::createSemaphore().
Referenced by lockSynchronized().
void corelinux::CoreLinuxGuardPool::destroyPoolGroup |
( |
Index |
aGroup | ) |
|
|
protected |
destroyPoolGroup validates that all the semaphores in the extent are not being used and then destroys the extent and all the semaphores associated with it.
The method assumes that the group is the last in the vector.
- Parameters
-
Referenced by releaseSynchronized().
static void corelinux::CoreLinuxGuardPool::setExtentSize |
( |
Short |
aExtentSize | ) |
|
throw | ( | Assertion |
| ) | | |
|
static |
Run time interface for changing the extent size.
The next time the pool goes into extent processing, this will be used.
- Parameters
-
- Exceptions
-
The documentation for this class was generated from the following files: