NonblockingSource Class Reference

a Source class that can pump from a device for a specified amount of time. More...

#include <network.h>

Inheritance diagram for NonblockingSource:

AutoSignaling< Source > NetworkSource SocketSource WindowsPipeSource

List of all members.

Public Member Functions

 NonblockingSource (BufferedTransformation *attachment)
void SetAutoSignalPropagation (int propagation)
int GetAutoSignalPropagation () const
lword GetMaxBytesPerSecond () const
void SetMaxBytesPerSecond (lword v)
lword ComputeCurrentTransceiveLimit ()
double TimeToNextTransceive ()
void NoteTransceive (lword size)
unsigned int GetMaxWaitObjectCount () const
void GetWaitObjects (WaitObjectContainer &container, const CallStack &callStack)
NONBLOCKING SOURCE
size_t GeneralPump2 (lword &byteCount, bool blockingOutput=true, unsigned long maxTime=INFINITE_TIME, bool checkDelimiter=false, byte delimiter='\n')
 pump up to maxSize bytes using at most maxTime milliseconds
lword GeneralPump (lword maxSize=LWORD_MAX, unsigned long maxTime=INFINITE_TIME, bool checkDelimiter=false, byte delimiter='\n')
lword TimedPump (unsigned long maxTime)
lword PumpLine (byte delimiter='\n', lword maxSize=1024)
size_t Pump2 (lword &byteCount, bool blocking=true)
size_t PumpMessages2 (unsigned int &messageCount, bool blocking=true)

Protected Member Functions

virtual size_t DoPump (lword &byteCount, bool blockingOutput, unsigned long maxTime, bool checkDelimiter, byte delimiter)=0
bool BlockedBySpeedLimit () const


Detailed Description

a Source class that can pump from a device for a specified amount of time.

Definition at line 55 of file network.h.


Member Function Documentation

size_t NonblockingSource::GeneralPump2 ( lword &  byteCount,
bool  blockingOutput = true,
unsigned long  maxTime = INFINITE_TIME,
bool  checkDelimiter = false,
byte  delimiter = '\n' 
)

pump up to maxSize bytes using at most maxTime milliseconds

If checkDelimiter is true, pump up to delimiter, which itself is not extracted or pumped.

Definition at line 76 of file network.cpp.

References TimerBase::ElapsedTime(), INFINITE_TIME, TimerBase::StartTimer(), and WaitObjectContainer::Wait().

unsigned int LimitedBandwidth::GetMaxWaitObjectCount (  )  const [inline, inherited]

GetWaitObjects() must be called despite the 0 return from GetMaxWaitObjectCount(); the 0 is because the ScheduleEvent() method is used instead of adding a wait object

Definition at line 38 of file network.h.


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

Generated on Mon Oct 27 02:45:46 2008 for Crypto++ by  doxygen 1.5.7.1