Crypto++  8.8
Free C++ class library of cryptographic schemes
Public Member Functions | List of all members
OutputProxy Class Reference

Filter class that is a proxy for a sink. More...

+ Inheritance diagram for OutputProxy:

Public Member Functions

 OutputProxy (BufferedTransformation &owner, bool passSignal)
 Construct an OutputProxy. More...
 
bool GetPassSignal () const
 Retrieve passSignal flag. More...
 
void SetPassSignal (bool passSignal)
 Set passSignal flag. More...
 
byteCreatePutSpace (size_t &size)
 
size_t Put2 (const byte *inString, size_t length, int messageEnd, bool blocking)
 
size_t PutModifiable2 (byte *begin, size_t length, int messageEnd, bool blocking)
 
void Initialize (const NameValuePairs &parameters=g_nullNameValuePairs, int propagation=-1)
 Initialize or reinitialize this object, with signal propagation. More...
 
bool Flush (bool hardFlush, int propagation=-1, bool blocking=true)
 Flush buffered input and/or output, with signal propagation. More...
 
bool MessageSeriesEnd (int propagation=-1, bool blocking=true)
 
byteChannelCreatePutSpace (const std::string &channel, size_t &size)
 
size_t ChannelPut2 (const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking)
 
size_t ChannelPutModifiable2 (const std::string &channel, byte *begin, size_t length, int messageEnd, bool blocking)
 
bool ChannelFlush (const std::string &channel, bool completeFlush, int propagation=-1, bool blocking=true)
 
bool ChannelMessageSeriesEnd (const std::string &channel, int propagation=-1, bool blocking=true)
 
- Public Member Functions inherited from CustomFlushPropagation< T >

Detailed Description

Filter class that is a proxy for a sink.

Used By ProxyFilter

Since
Crypto++ 4.0

Definition at line 990 of file filters.h.

Constructor & Destructor Documentation

◆ OutputProxy()

OutputProxy::OutputProxy ( BufferedTransformation owner,
bool  passSignal 
)
inline

Construct an OutputProxy.

Parameters
ownerthe owning transformation
passSignalflag indicating if signals should be passed

Definition at line 998 of file filters.h.

Member Function Documentation

◆ GetPassSignal()

bool OutputProxy::GetPassSignal ( ) const
inline

Retrieve passSignal flag.

Returns
flag indicating if signals should be passed

Definition at line 1002 of file filters.h.

◆ SetPassSignal()

void OutputProxy::SetPassSignal ( bool  passSignal)
inline

Set passSignal flag.

Parameters
passSignalflag indicating if signals should be passed

Definition at line 1005 of file filters.h.

◆ Initialize()

void OutputProxy::Initialize ( const NameValuePairs parameters = g_nullNameValuePairs,
int  propagation = -1 
)
inlinevirtual

Initialize or reinitialize this object, with signal propagation.

Parameters
parametersa set of NameValuePairs to initialize or reinitialize this object
propagationthe number of attached transformations the Initialize() signal should be passed

Initialize() is used to initialize or reinitialize an object using a variable number of arbitrarily typed arguments. The function avoids the need for multiple constructors providing all possible combintations of configurable parameters.

propagation count includes this object. Setting propagation to 1 means this object only. Setting propagation to -1 means unlimited propagation.

Implements CustomSignalPropagation< Sink >.

Definition at line 1013 of file filters.h.

◆ Flush()

bool OutputProxy::Flush ( bool  hardFlush,
int  propagation = -1,
bool  blocking = true 
)
inlinevirtual

Flush buffered input and/or output, with signal propagation.

Parameters
hardFlushis used to indicate whether all data should be flushed
propagationthe number of attached transformations the Flush() signal should be passed
blockingspecifies whether the object should block when processing input

propagation count includes this object. Setting propagation to 1 means this object only. Setting propagation to -1 means unlimited propagation.

Note
Hard flushes must be used with care. It means try to process and output everything, even if there may not be enough data to complete the action. For example, hard flushing a HexDecoder would cause an error if you do it after inputing an odd number of hex encoded characters.
For some types of filters, like ZlibDecompressor, hard flushes can only be done at "synchronization points". These synchronization points are positions in the data stream that are created by hard flushes on the corresponding reverse filters, in this example ZlibCompressor. This is useful when zlib compressed data is moved across a network in packets and compression state is preserved across packets, as in the SSH2 protocol.

Implements CustomFlushPropagation< T >.

Definition at line 1015 of file filters.h.


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