NetworkReceiver Class Reference

#include <network.h>

Inheritance diagram for NetworkReceiver:

Waitable SocketReceiver WindowsPipeReceiver WindowsPipeSource List of all members.

Detailed Description

Network Receiver.

Definition at line 94 of file network.h.

Public Member Functions

virtual bool MustWaitToReceive ()
virtual bool MustWaitForResult ()
virtual bool Receive (byte *buf, size_t bufLen)=0
 receive data from network source, returns whether result is immediately available
virtual unsigned int GetReceiveResult ()=0
virtual bool EofReceived () const=0
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, inherited]

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, SocketReceiver, SocketSender, WindowsPipeReceiver, and WindowsPipeSender.

Referenced by NetworkSink::GetWaitObjects(), NetworkSource::GetWaitObjects(), and Waitable::Wait().

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 file:
Generated on Sat Dec 23 02:07:28 2006 for Crypto++ by  doxygen 1.5.1-p1