|
Crypto++
8.9
Free C++ class library of cryptographic schemes
|
Route input to different and/or multiple channels based on channel ID. More...
Inheritance diagram for ChannelSwitch:Public Member Functions | |
| ChannelSwitch (BufferedTransformation &destination) | |
| ChannelSwitch (BufferedTransformation &destination, const std::string &outChannel) | |
| void | IsolatedInitialize (const NameValuePairs ¶meters=g_nullNameValuePairs) |
| size_t | ChannelPut2 (const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking) |
| Input multiple bytes for processing on a channel. More... | |
| 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) |
| Flush buffered input and/or output on a channel. More... | |
| bool | ChannelMessageSeriesEnd (const std::string &channel, int propagation=-1, bool blocking=true) |
| byte * | ChannelCreatePutSpace (const std::string &channel, size_t &size) |
| void | AddDefaultRoute (BufferedTransformation &destination) |
| void | RemoveDefaultRoute (BufferedTransformation &destination) |
| void | AddDefaultRoute (BufferedTransformation &destination, const std::string &outChannel) |
| void | RemoveDefaultRoute (BufferedTransformation &destination, const std::string &outChannel) |
| void | AddRoute (const std::string &inChannel, BufferedTransformation &destination, const std::string &outChannel) |
| void | RemoveRoute (const std::string &inChannel, BufferedTransformation &destination, const std::string &outChannel) |
Public Member Functions inherited from Multichannel< Sink > | |
| 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) |
| Marks the end of a series of messages, with signal propagation. More... | |
| byte * | CreatePutSpace (size_t &size) |
| Request space which can be written into by the caller. More... | |
| size_t | Put2 (const byte *inString, size_t length, int messageEnd, bool blocking) |
| Input multiple bytes for processing. More... | |
| size_t | PutModifiable2 (byte *inString, size_t length, int messageEnd, bool blocking) |
| Input multiple bytes that may be modified by callee. More... | |
| byte * | ChannelCreatePutSpace (const std::string &channel, size_t &size) |
| Request space which can be written into by the caller. More... | |
| bool | ChannelPutModifiable (const std::string &channel, byte *inString, size_t length) |
| Input multiple bytes that may be modified by callee on a channel. More... | |
| size_t | ChannelPutModifiable2 (const std::string &channel, byte *begin, size_t length, int messageEnd, bool blocking) |
| Input multiple bytes that may be modified by callee on a channel. More... | |
Public Member Functions inherited from CustomFlushPropagation< T > | |
Friends | |
| class | ChannelRouteIterator |
Additional Inherited Members | |
Public Types inherited from ChannelSwitchTypedefs | |
| typedef std::pair< BufferedTransformation *, std::string > | Route |
| typedef std::multimap< std::string, Route > | RouteMap |
| typedef std::pair< BufferedTransformation *, value_ptr< std::string > > | DefaultRoute |
| typedef std::list< DefaultRoute > | DefaultRouteList |
| typedef RouteMap::iterator | MapIterator |
| typedef DefaultRouteList::iterator | ListIterator |
Route input to different and/or multiple channels based on channel ID.
Definition at line 96 of file channels.h.
|
virtual |
Input multiple bytes for processing on a channel.
| channel | the channel to process the data. |
| begin | the byte buffer to process. |
| length | the size of the string, in bytes. |
| messageEnd | means how many filters to signal MessageEnd() to, including this one. |
| blocking | specifies whether the object should block when processing input. |
Implements Multichannel< Sink >.
|
virtual |
Flush buffered input and/or output on a channel.
| channel | the channel to flush the data |
| hardFlush | is used to indicate whether all data should be flushed |
| propagation | the number of attached transformations the ChannelFlush() 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.
Implements Multichannel< Sink >.