Waitable Class Reference

#include <cryptlib.h>

Inheritance diagram for Waitable:

BufferedTransformation NetworkReceiver NetworkSender AutoSignaling< BufferedTransformation > Bufferless< BufferedTransformation > Filter InputRejecting< BufferedTransformation > Sink SocketReceiver SocketSender MessageQueue ByteQueue AutoSignaling< Filter > Bufferless< Filter > CustomFlushPropagation< Filter > EncodedObjectFilter FilterWithBufferedInput FilterWithInputQueue InputRejecting< Filter > LowFirstBitWriter Unflushable< Filter > AutoSignaling< InputRejecting< BufferedTransformation > > ByteQueue::Walker Bufferless< Sink > CustomFlushPropagation< Sink > FileSink NonblockingSink List of all members.

Detailed Description

interface for objects that you can wait for

Definition at line 677 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, SocketReceiver, and SocketSender.

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


The documentation for this class was generated from the following file:
Generated on Thu Jul 5 22:21:52 2007 for Crypto++ by  doxygen 1.5.2