The C++ framework for developing highly scalable, high performance servers on Windows platforms.

Win32 Synchronization primitives
[Win32 Tools Library]

Collaboration diagram for Win32 Synchronization primitives:


Classes

class  TAddressOrderedMultiLock
 A class that allows you to manipulate a collection of instances of locks as if they were a single instance. The idea being that this could be used to enforce an ordering over a sequence of locks that must be acquired together. The locks are stored in the collection keyed by address and then always locked in address ascending order and unlocked in address descending order. More...
class  CEventOwner
 A class that manages an instance of CEvent in a scope based style. More...
class  ILockableObject
 An interface onto objects that can be locked. More...
class  TILockableObjectTracksLockingThread
 An interface onto objects that can be locked and which track the thread that currently holds the lock and can tell you if you currently hold the lock. More...
class  IReentrantLockableObject
 An interface onto objects that can be locked and where the same thread is able to call Lock() multiple times successfully and where each call to Lock() needs to be balanced by a corresponding call to Unlock() to unlock the object. More...
class  IReentrantLockableObjectTracksLockingThread
 An interface onto objects that can be locked and where the same thread is able to call Lock() multiple times successfully and where each call to Lock() needs to be balanced by a corresponding call to Unlock() to unlock the object. More...
class  ISingleWriterMultipleReaderLock::Reader
 A class that locks an instance of ISingleWriterMultipleReaderLock for read access. That is it calls EnterToRead() in the constructor and Leave() in the destructor and can therefore be used to support scope based locking and unlocking. More...
class  ISingleWriterMultipleReaderLock::Writer
 A class that locks an instance of ISingleWriterMultipleReaderLock for write access. That is it calls EnterToWrite() in the constructor and Leave() in the destructor and can therefore be used to support scope based locking and unlocking. More...
class  ISingleWriterMultipleReaderLock::ConditionalOwner
 A base class to support the ConditionalReader and ConditionalWriter classes. More...
class  ISingleWriterMultipleReaderLock::ConditionalReader
 A class that may lock an instance of ISingleWriterMultipleReaderLock for read access. That is it calls EnterToRead() in the constructor and Leave() in the destructor if locked is true and can therefore be used to support scope based locking and unlocking. More...
class  ISingleWriterMultipleReaderLock::ConditionalWriter
 A class that may lock an instance of ISingleWriterMultipleReaderLock for write access. That is it calls EnterToWrite() in the constructor and Leave() in the destructor if locked is true and can therefore be used to support scope based locking and unlocking. More...
class  ISingleWriterMultipleReaderLock::PotentialOwner
 A base class to support the PotentialReader and PotentialWriter classes. More...
class  ISingleWriterMultipleReaderLock::PotentialReader
 A class that may lock an instance of ISingleWriterMultipleReaderLock for read access. If you call EnterToRead() or TryEnterToRead() on this class it will keep track of the fact that the lock has been entered and will call Leave() in the destructor. This can therefore be used to support scope based locking and unlocking of instances of ISingleWriterMultipleReaderLock. More...
class  ISingleWriterMultipleReaderLock::PotentialWriter
 A class that may lock an instance of ISingleWriterMultipleReaderLock for write access. If you call EnterToWrite() or TryEnterToWrite() on this class it will keep track of the fact that the lock has been entered and will call Leave() in the destructor. This can therefore be used to support scope based locking and unlocking of instances of ISingleWriterMultipleReaderLock. More...
class  TLockableObjectOwner
 A class that takes ownership of a lockable object. That is it calls Lock() in the constructor and Unlock() in the destructor and can therefore be used to support scope based locking and unlocking of instances of the object. More...
class  TLockableObjectConditionalOwner
 A class that may take ownership of a lockable object. That is it calls Lock() in the constructor and Unlock() in the destructor (but only if locked passed as true to the constructor) and can therefore be used to support scope based locking and unlocking of instances of the object. More...
class  TLockableObjectPotentialOwner
 A class that could take ownership of an instance of a lockable object. If you call Lock() or TryLock() on this class it will keep track of the fact that the lockable object has been locked and will call Unlock() in the destructor. This can therefore be used to support scope based locking and unlocking of instances of the object. More...
class  COverlapped
 A class that wraps an OVERLAPPED structure. More...
class  TLockableObject
class  TReentrantLockableObject
class  TReentrantLockableObjectTracksLockingThread
class  CWaitableCounter
 A counter that can be incremented and decremented and where you can wait on it either becoming zero or becoming non-zero. More...
class  CWaitableCounter::Incrementer
 A class that provides support for scope based incrementing of a waitable counter. The count is incremented for the life of the Incrementer; that is, it is incremented in the constructor of the and decremented in the destrutor. More...
class  CWaitableCounter::Decrementer
 A class that provides support for scope based decrementing of a waitable counter. The count is decreased for the life of the Decrementer; that is, it is decremented in the constructor of the and incremented in the destrutor. More...
class  CEvent
class  IWaitable
 An interface to code that can be waited for, either via the methods on the interface or by passing a handle to one of the Wait Functions. More...
class  TLockableObject
class  TLockableObjectTracksLockingThread
class  TReentrantLockableObject
class  TReentrantLockableObjectTracksLockingThread
class  CAutoResetEvent
 A class that wraps the operating system Event API and exposes just the interface for an auto reset event. More...
class  CEvent
 A class that wraps the operating system Event API. See here for more details. More...
class  CManualResetEvent
 A class that wraps the operating system Event API and exposes just the interface for an manual reset event. More...
class  COverlappedWithEvent
 A class that wraps an OVERLAPPED structure that uses an event. More...
class  CSemaphore
 A class that wraps the operating system Semaphore API. More...


Generated on Sun Sep 12 19:06:56 2021 for The Server Framework - v7.4 by doxygen 1.5.3