Crypto++  8.2
Free C&
Public Member Functions | Friends | List of all members
ChannelSwitch Class Reference

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 &parameters=g_nullNameValuePairs)
 
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)
 
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)
 
bool ChannelPutModifiable (const std::string &channel, byte *inString, size_t length)
 
size_t ChannelPutModifiable2 (const std::string &channel, byte *begin, size_t length, int messageEnd, bool blocking)
 
- 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
 

Detailed Description

Route input to different and/or multiple channels based on channel ID.

Definition at line 96 of file channels.h.


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