Crypto++
Public Member Functions | Protected Member Functions | List of all members
WindowsPipeReceiver Class Referenceabstract

pipe-based implementation of NetworkReceiver More...

#include <winpipes.h>

Inheritance diagram for WindowsPipeReceiver:
WindowsPipe NetworkReceiver Waitable WindowsPipeSource

Public Member Functions

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 More...
 
virtual bool MustWaitToReceive ()
 
bool Wait (unsigned long milliseconds, CallStack const &callStack)
 wait on this object More...
 

Protected Member Functions

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

Detailed Description

pipe-based implementation of NetworkReceiver

Definition at line 61 of file winpipes.h.

Member Function Documentation

void WindowsPipeReceiver::GetWaitObjects ( WaitObjectContainer container,
CallStack const &  callStack 
)
virtual

put wait objects into container

Parameters
callStackis 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.

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().


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