1 #if !defined(__CORELINUXGUARDPOOL_HPP) 2 #define __CORELINUXGUARDPOOL_HPP 24 #if !defined(__COMMON_HPP) 28 #if !defined(__SINGLETON_HPP) 29 #include <Singleton.hpp> 32 #if !defined(__SEMAPHOREGROUP_HPP) 33 #include <SemaphoreGroup.hpp> 36 #if !defined(__VECTOR_HPP) 40 #if !defined(__MAP_HPP) 76 std::less<AbstractSemaphorePtr>,
84 std::less<SynchronizedPtr>,
140 static Short getInitialPoolSize(
void );
144 static Short getExtentSize(
void );
148 static Short getTotalCurrentSize(
void );
182 static void setExtentSize( Short aExtentSize )
throw(
Assertion );
234 void createPoolGroup( Short numSems, Short initSize=0 );
245 void destroyPoolGroup( Index aGroup );
265 GroupVector theGroups;
269 SemaphoreMap theSemaphores;
273 MonitorMap theCallers;
281 #endif // if !defined(__CORELINUXGUARDPOOL_HPP) Ensure a class only has one instance, and provide a global point of access to it. ...
Definition: Singleton.hpp:38
static Short theInitialSize
Describes the inital pool size.
Definition: CoreLinuxGuardPool.hpp:255
Count theQueueLength
The number of Synchronized concurrent request.
Definition: CoreLinuxGuardPool.hpp:59
The CoreLinuxGuardPool is a private SemaphoreGroup resource for class objects that require synchroniz...
Definition: CoreLinuxGuardPool.hpp:97
Forward reference the various common classes.
Definition: AbstractAllocator.hpp:32
A AbstractSemaphore supports the protocol that processes and/or threads agree to follow for the purpo...
Definition: AbstractSemaphore.hpp:85
Index theGroupIndex
The SemaphoreGroup that this semaphore belongs to.
Definition: CoreLinuxGuardPool.hpp:63
static GuardPool theGuard
Singleton instance.
Definition: CoreLinuxGuardPool.hpp:251
static Short theExtentSize
Describes the size to add when going into extents.
Definition: CoreLinuxGuardPool.hpp:259
SemaphoreException is the base exception type for Semaphore.
Definition: SemaphoreException.hpp:39
Assertion is-a Exception created when an assertion fails.
Definition: Assertion.hpp:423
Synchronized is a mixin which allows class objects to enable monitor functionality.
Definition: Synchronized.hpp:41
PoolDescriptor stores information about the ownership and usage of a semaphore in the pool...
Definition: CoreLinuxGuardPool.hpp:55
A SemaphoreGroup is an extension to the Linux semaphore set.
Definition: SemaphoreGroup.hpp:62