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

IWaitable Class Reference
[Win32 Synchronization primitivesInterfacesProtected destructors on abstract base classes]

Inheritance diagram for IWaitable:

List of all members.


Detailed Description

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.

Public Member Functions

virtual HANDLE GetWaitHandle () const =0
 Access a HANDLE to wait on by passing it to one of the Wait Functions.
virtual bool IsSignalled () const
 Returns true if the object is signalled and false if it isn't; doesn't block.
virtual void Wait () const =0
 Wait indefinitely for the object to become signalled.
virtual bool Wait (Milliseconds timeout) const =0
 Wait, with a time limit, for the object to become signalled. If you want to wait for 0 milliseconds and you get an "ambiguous call" with the Handle version then use IsSignalled() which is the same as Wait(0).

Static Public Member Functions

static void WaitForHandle (HANDLE handle)
 Wait indefinitely for the supplied handle to become signalled.
static bool WaitForHandle (HANDLE handle, Milliseconds timeout)
 Wait, with a time limit, for the supplied handle to become signalled.
static DWORD WaitForMultipleHandles (DWORD numHandles, HANDLE *pHandles, bool waitAll, Milliseconds timeout)
static bool WaitWithMessageLoop (HANDLE handle, Milliseconds timeout)
static bool WaitWithMessageLoop (HANDLE handle, Milliseconds timeout, DWORD removeFlags)
static bool WaitWithMessageLoop (DWORD numHandles, const HANDLE *pHandles, Milliseconds timeout)
static bool WaitWithMessageLoop (DWORD numHandles, const HANDLE *pHandles, DWORD &signalledHandle, Milliseconds timeout)
static bool WaitWithMessageLoop (DWORD numHandles, const HANDLE *pHandles, DWORD &signalledHandle, Milliseconds timeout, DWORD removeFlags)

Protected Member Functions

virtual ~IWaitable ()
 We never delete instances of this interface; you must manage the lifetime of the class that implements it.

Constructor & Destructor Documentation

virtual ~IWaitable (  )  [protected, virtual]

We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Function Documentation

virtual HANDLE GetWaitHandle (  )  const [pure virtual]

Access a HANDLE to wait on by passing it to one of the Wait Functions.

Implemented in CEvent, and CThread.

bool IsSignalled (  )  const [virtual]

Returns true if the object is signalled and false if it isn't; doesn't block.

virtual void Wait (  )  const [pure virtual]

Wait indefinitely for the object to become signalled.

Implemented in CEvent, and CThread.

virtual bool Wait ( Milliseconds  timeout  )  const [pure virtual]

Wait, with a time limit, for the object to become signalled. If you want to wait for 0 milliseconds and you get an "ambiguous call" with the Handle version then use IsSignalled() which is the same as Wait(0).

Implemented in CEvent, and CThread.

void WaitForHandle ( HANDLE  handle  )  [static]

Wait indefinitely for the supplied handle to become signalled.

bool WaitForHandle ( HANDLE  handle,
Milliseconds  timeout 
) [static]

Wait, with a time limit, for the supplied handle to become signalled.

DWORD WaitForMultipleHandles ( DWORD  numHandles,
HANDLE pHandles,
bool  waitAll,
Milliseconds  timeout 
) [static]

bool WaitWithMessageLoop ( HANDLE  handle,
Milliseconds  timeout 
) [static]

bool WaitWithMessageLoop ( HANDLE  handle,
Milliseconds  timeout,
DWORD  removeFlags 
) [static]

bool WaitWithMessageLoop ( DWORD  numHandles,
const HANDLE pHandles,
Milliseconds  timeout 
) [static]

bool WaitWithMessageLoop ( DWORD  numHandles,
const HANDLE pHandles,
DWORD signalledHandle,
Milliseconds  timeout 
) [static]

bool WaitWithMessageLoop ( DWORD  numHandles,
const HANDLE pHandles,
DWORD signalledHandle,
Milliseconds  timeout,
DWORD  removeFlags 
) [static]


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