# Waitable Class Reference

`#include <cryptlib.h>`

Inheritance diagram for Waitable:

List of all members.

## Detailed Description

interface for objects that you can wait for

Definition at line 732 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, 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().

The documentation for this class was generated from the following files:

- cryptlib.h
- wait.cpp