WindowsPipeReceiver Class Reference

#include <winpipes.h>

Inheritance diagram for WindowsPipeReceiver:

WindowsPipe NetworkReceiver Waitable WindowsPipeSource List of all members.

Detailed Description

pipe-based implementation of NetworkReceiver

Definition at line 61 of file winpipes.h.

Public Member Functions

 WindowsPipeReceiver ()
bool MustWaitForResult ()
bool Receive (byte *buf, size_t bufLen)
 receive data from network source, returns whether result is immediately available
unsigned int GetReceiveResult ()
bool EofReceived () const
unsigned int GetMaxWaitObjectCount () const
 maximum number of wait objects that this object can return
void GetWaitObjects (WaitObjectContainer &container, CallStack const &callStack)
 put wait objects into container
virtual bool MustWaitToReceive ()
bool Wait (unsigned long milliseconds, CallStack const &callStack)
 wait on this object

Protected Member Functions

virtual HANDLE GetHandle () const=0
virtual void HandleError (const char *operation) const
void CheckAndHandleError (const char *operation, BOOL result) const


Member Function Documentation

void WindowsPipeReceiver::GetWaitObjects ( WaitObjectContainer container,
CallStack const &  callStack 
) [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));

Implements Waitable.

Definition at line 118 of file winpipes.cpp.

References WaitObjectContainer::AddHandle(), and WaitObjectContainer::SetNoWait().

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

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 Waitable::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