|
| Redirector () |
| Construct a Redirector.
|
|
| Redirector (BufferedTransformation &target, Behavior behavior=PASS_EVERYTHING) |
| Construct a Redirector.
|
|
void | Redirect (BufferedTransformation &target) |
| Redirect input to another BufferedTransformation.
|
|
void | StopRedirection () |
| Stop redirecting input.
|
|
Behavior | GetBehavior () |
| Retrieve signal propagation behavior.
|
|
void | SetBehavior (Behavior behavior) |
| Set signal propagation behavior.
|
|
bool | GetPassSignals () const |
| Retrieve signal propagation behavior.
|
|
void | SetPassSignals (bool pass) |
| Set signal propagation behavior.
|
|
bool | GetPassWaitObjects () const |
| Retrieve signal propagation behavior.
|
|
void | SetPassWaitObjects (bool pass) |
| Set signal propagation behavior.
|
|
bool | CanModifyInput () const |
|
void | Initialize (const NameValuePairs ¶meters, int propagation) |
| Initialize or reinitialize this object, with signal propagation.
|
|
byte * | CreatePutSpace (size_t &size) |
|
size_t | Put2 (const byte *inString, size_t length, int messageEnd, bool blocking) |
|
bool | Flush (bool hardFlush, int propagation=-1, bool blocking=true) |
| Flush buffered input and/or output, with signal propagation.
|
|
bool | MessageSeriesEnd (int propagation=-1, bool blocking=true) |
|
byte * | ChannelCreatePutSpace (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) |
|
unsigned int | GetMaxWaitObjectCount () const |
|
void | GetWaitObjects (WaitObjectContainer &container, CallStack const &callStack) |
|
Redirect input to another BufferedTransformation without owning it.
- Since
- Crypto++ 4.0
Definition at line 883 of file filters.h.
void Redirector::Initialize |
( |
const NameValuePairs & | parameters, |
|
|
int | propagation ) |
|
virtual |
Initialize or reinitialize this object, with signal propagation.
- Parameters
-
parameters | a set of NameValuePairs to initialize or reinitialize this object |
propagation | the 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 >.
bool Redirector::Flush |
( |
bool | hardFlush, |
|
|
int | propagation = -1, |
|
|
bool | blocking = true ) |
|
inlinevirtual |
Flush buffered input and/or output, with signal propagation.
- Parameters
-
hardFlush | is used to indicate whether all data should be flushed |
propagation | the number of attached transformations the Flush() signal should be passed |
blocking | specifies 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 953 of file filters.h.