Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

WindowsPipeSource Class Reference

#include <winpipes.h>

Inheritance diagram for WindowsPipeSource:

WindowsHandle NetworkSource WindowsPipeReceiver NonblockingSource WindowsPipe NetworkReceiver Waitable List of all members.

Detailed Description

Windows Pipe Source.

Definition at line 104 of file winpipes.h.

Public Member Functions

 WindowsPipeSource (HANDLE h=INVALID_HANDLE_VALUE, bool pumpAll=false, BufferedTransformation *attachment=NULL)
bool GetOwnership () const
void SetOwnership (bool own)
 operator HANDLE ()
bool HandleValid () const
void AttachHandle (HANDLE h, bool own=false)
HANDLE DetachHandle ()
void CloseHandle ()
unsigned int GetMaxWaitObjectCount () const
void GetWaitObjects (WaitObjectContainer &container)
unsigned int GeneralPump2 (unsigned long &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

bool SourceExhausted () const
bool MustWaitForResult ()
void Receive (byte *buf, unsigned int bufLen)
unsigned int GetReceiveResult ()
bool EofReceived () const
unsigned int GetMaxWaitObjectCount () const
 maximum number of wait objects that this object can return

void GetWaitObjects (WaitObjectContainer &container)
 put wait objects into container

virtual bool MustWaitToReceive ()
bool Wait (unsigned long milliseconds)
 wait on this object

NONBLOCKING SOURCE
unsigned long GeneralPump (unsigned long maxSize=ULONG_MAX, unsigned long maxTime=INFINITE_TIME, bool checkDelimiter=false, byte delimiter='\n')
unsigned long TimedPump (unsigned long maxTime)
unsigned long PumpLine (byte delimiter='\n', unsigned long maxSize=1024)
unsigned int Pump2 (unsigned long &byteCount, bool blocking=true)
unsigned int PumpMessages2 (unsigned int &messageCount, bool blocking=true)

Protected Member Functions

virtual void HandleChanged ()
const NetworkReceiverGetReceiver () const
virtual void HandleError (const char *operation) const
void CheckAndHandleError (const char *operation, BOOL result) const

Protected Attributes

HANDLE m_h
bool m_own


Member Function Documentation

unsigned int NetworkSource::GeneralPump2 unsigned long &  byteCount,
bool  blockingOutput = true,
unsigned long  maxTime = INFINITE_TIME,
bool  checkDelimiter = false,
byte  delimiter = '\n'
[virtual, inherited]
 

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.

Implements NonblockingSource.

Definition at line 40 of file network.cpp.

References SecBlock< T, A >::begin(), Timer::ElapsedTime(), NetworkReceiver::EofReceived(), NetworkSource::GeneralPump2(), NetworkReceiver::GetReceiveResult(), INFINITE_TIME, NetworkReceiver::MustWaitForResult(), NetworkReceiver::MustWaitToReceive(), NetworkReceiver::Receive(), SecBlock< T, A >::size(), and Waitable::Wait().

Referenced by NetworkSource::GeneralPump2().

bool Waitable::Wait unsigned long  milliseconds  )  [inherited]
 

wait on this object

same as creating an empty container, calling GetWaitObjects(), and calling Wait() on the container

Definition at line 247 of file wait.cpp.

References Waitable::GetWaitObjects(), WaitObjectContainer::Wait(), and Waitable::Wait().

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


The documentation for this class was generated from the following file:
Generated on Fri Aug 13 09:57:00 2004 for Crypto++ by doxygen 1.3.7