#include <DynamicRelations.H>
Static Public Member Functions | |
static istream * | acquire_istream () |
static void | release_istream (std::istream *pis) |
static void | cleanup () |
Private Types | |
typedef istream * | Pistream |
Static Private Attributes | |
static const int | PoolSize = 6 |
static CCriticalSection::Mutex | PoolMutex |
static CSemaphore | Semaphore |
static Pistream | Pistream_slots [PoolSize] = { NULL } |
static bool | slot_occupied [PoolSize] = { false } |
Definition at line 42 of file DynamicRelations.H.
typedef istream* DynamicRelations::IstreamPool::Pistream [private] |
Definition at line 50 of file DynamicRelations.H.
static istream* DynamicRelations::IstreamPool::acquire_istream | ( | ) | [inline, static] |
Definition at line 54 of file DynamicRelations.H.
References std::basic_string< _CharT, _Traits, _Alloc >::c_str(), cout, endl(), exit(), MARK, Pistream_slots, PoolMutex, PoolSize, Semaphore, slot_occupied, CSemaphore::trywait(), and CSemaphore::wait().
Referenced by Cprocess_clients::process_data_stream(), and CRelation::ProvideDynamicRelationsStream::ProvideDynamicRelationsStream().
static void DynamicRelations::IstreamPool::release_istream | ( | std::istream * | pis | ) | [inline, static] |
Definition at line 78 of file DynamicRelations.H.
References Pistream_slots, PoolMutex, PoolSize, CSemaphore::post(), Semaphore, and slot_occupied.
Referenced by Cprocess_clients::process_data_stream(), and CRelation::ProvideDynamicRelationsStream::~ProvideDynamicRelationsStream().
static void DynamicRelations::IstreamPool::cleanup | ( | ) | [inline, static] |
Definition at line 94 of file DynamicRelations.H.
References Pistream_slots, PoolSize, and slot_occupied.
Referenced by DynamicRelations::cleanup_files().
const int DynamicRelations::IstreamPool::PoolSize = 6 [static, private] |
Definition at line 45 of file DynamicRelations.H.
Referenced by acquire_istream(), cleanup(), and release_istream().
CCriticalSection::Mutex DynamicRelations::IstreamPool::PoolMutex [static, private] |
Definition at line 47 of file DynamicRelations.H.
Referenced by acquire_istream(), and release_istream().
CSemaphore DynamicRelations::IstreamPool::Semaphore [static, private] |
Definition at line 48 of file DynamicRelations.H.
Referenced by acquire_istream(), and release_istream().
DynamicRelations::IstreamPool::Pistream DynamicRelations::IstreamPool::Pistream_slots = { NULL } [static, private] |
Definition at line 51 of file DynamicRelations.H.
Referenced by acquire_istream(), cleanup(), and release_istream().
bool DynamicRelations::IstreamPool::slot_occupied = { false } [static, private] |
Definition at line 52 of file DynamicRelations.H.
Referenced by acquire_istream(), cleanup(), and release_istream().