DynamicRelations::IstreamPool Class Reference

#include <DynamicRelations.H>

Collaboration diagram for DynamicRelations::IstreamPool:

Collaboration graph
[legend]

List of all members.

Static Public Member Functions

static istreamacquire_istream ()
static void release_istream (std::istream *pis)
static void cleanup ()

Private Types

typedef istreamPistream

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 }


Detailed Description

Definition at line 42 of file DynamicRelations.H.


Member Typedef Documentation

typedef istream* DynamicRelations::IstreamPool::Pistream [private]

Definition at line 50 of file DynamicRelations.H.


Member Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().


Member Data Documentation

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().


The documentation for this class was generated from the following file:
Generated on Wed Nov 7 23:31:33 2007 for Qsieve by  doxygen 1.5.4