Crypto++
Public Member Functions | Protected Member Functions
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 > LimitedBandwidth 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.


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

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

Reimplemented in NetworkSink, and NetworkSource.

Definition at line 38 of file network.h.


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