Public Member Functions | Protected Member Functions

WindowsPipeReceiver Class Reference

pipe-based implementation of NetworkReceiver More...

#include <winpipes.h>

Inheritance diagram for WindowsPipeReceiver:
WindowsPipe NetworkReceiver Waitable WindowsPipeSource

List of all members.

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

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

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.

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: