Crypto++
Public Types | Public Member Functions | Friends
ChannelSwitch Class Reference

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

#include <channels.h>

Inheritance diagram for ChannelSwitch:
Multichannel< Sink > ChannelSwitchTypedefs

List of all members.

Public Types

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

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)
bool Flush (bool hardFlush, int propagation=-1, bool blocking=true)
bool MessageSeriesEnd (int propagation=-1, bool blocking=true)
byte * CreatePutSpace (size_t &size)
size_t Put2 (const byte *begin, size_t length, int messageEnd, bool blocking)
size_t PutModifiable2 (byte *inString, size_t length, int messageEnd, bool blocking)
bool ChannelPutModifiable (const std::string &channel, byte *inString, size_t length)

Friends

class ChannelRouteIterator

Detailed Description

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


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