Waitable Class Reference

#include <cryptlib.h>

Inheritance diagram for Waitable:

BufferedTransformation NetworkReceiver NetworkSender AutoSignaling< BufferedTransformation > Bufferless< BufferedTransformation > Filter InputRejecting< BufferedTransformation > Sink SocketReceiver WindowsPipeReceiver SocketSender WindowsPipeSender List of all members.

Detailed Description

interface for objects that you can wait for

Definition at line 669 of file cryptlib.h.

Public Member Functions

virtual unsigned int GetMaxWaitObjectCount () const=0
 maximum number of wait objects that this object can return
virtual void GetWaitObjects (WaitObjectContainer &container, CallStack const &callStack)=0
 put wait objects into container
bool Wait (unsigned long milliseconds, CallStack const &callStack)
 wait on this object


Member Function Documentation

virtual void Waitable::GetWaitObjects ( WaitObjectContainer container,
CallStack const &  callStack 
) [pure virtual]

put wait objects into container

Parameters:
callStack is used for tracing no wait loops, example: something.GetWaitObjects(c, CallStack("my func after X", 0));
  • or in an outer GetWaitObjects() method that itself takes a callStack parameter: innerThing.GetWaitObjects(c, CallStack("MyClass::GetWaitObjects at X", &callStack));

Implemented in BufferedTransformation, Redirector, NetworkSource, NetworkSink, SocketReceiver, SocketSender, WindowsPipeReceiver, and WindowsPipeSender.

Referenced by NetworkSink::GetWaitObjects(), NetworkSource::GetWaitObjects(), and Wait().

bool Waitable::Wait ( unsigned long  milliseconds,
CallStack const &  callStack 
)

wait on this object

same as creating an empty container, calling GetWaitObjects(), and calling Wait() on the container

Definition at line 388 of file wait.cpp.

References GetWaitObjects(), and WaitObjectContainer::Wait().

Referenced by NetworkSink::DoFlush(), and NetworkSource::DoPump().


The documentation for this class was generated from the following files:
Generated on Sat Dec 23 02:07:37 2006 for Crypto++ by  doxygen 1.5.1-p1