Crypto++
Public Member Functions | Protected Member Functions | List of all members
WindowsPipeSender Class Referenceabstract

pipe-based implementation of NetworkSender More...

#include <winpipes.h>

Inheritance diagram for WindowsPipeSender:
WindowsPipe NetworkSender Waitable WindowsPipeSink

Public Member Functions

bool MustWaitForResult ()
 
void Send (const byte *buf, size_t bufLen)
 
unsigned int GetSendResult ()
 
bool MustWaitForEof ()
 
void SendEof ()
 
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 More...
 
virtual bool MustWaitToSend ()
 
virtual bool EofSent ()
 
bool Wait (unsigned long milliseconds, CallStack const &callStack)
 wait on this object More...
 

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 NetworkSender

Definition at line 83 of file winpipes.h.

Member Function Documentation

void WindowsPipeSender::GetWaitObjects ( WaitObjectContainer container,
CallStack const &  callStack 
)
virtual

put wait objects into container

Parameters
callStackis 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 183 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: