Security Scol plugin
|
Route input to different and/or multiple channels based on channel ID. More...
#include <channels.h>
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. | |
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. | |
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. | |
bool | MessageSeriesEnd (int propagation=-1, bool blocking=true) |
Marks the end of a series of messages, with signal propagation. | |
byte * | CreatePutSpace (size_t &size) |
Request space which can be written into by the caller. | |
size_t | Put2 (const byte *inString, size_t length, int messageEnd, bool blocking) |
Input multiple bytes for processing. | |
size_t | PutModifiable2 (byte *inString, size_t length, int messageEnd, bool blocking) |
Input multiple bytes that may be modified by callee. | |
byte * | ChannelCreatePutSpace (const std::string &channel, size_t &size) |
Request space which can be written into by the caller. | |
bool | ChannelPutModifiable (const std::string &channel, byte *inString, size_t length) |
Input multiple bytes that may be modified by callee on a channel. | |
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. | |
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.
|
inline |
Definition at line 99 of file channels.h.
|
inline |
Definition at line 100 of file channels.h.
|
inline |
Definition at line 104 of file channels.h.
void ChannelSwitch::AddDefaultRoute | ( | BufferedTransformation & | destination | ) |
Definition at line 266 of file channels.cpp.
void ChannelSwitch::AddDefaultRoute | ( | BufferedTransformation & | destination, |
const std::string & | outChannel | ||
) |
Definition at line 281 of file channels.cpp.
void ChannelSwitch::AddRoute | ( | const std::string & | inChannel, |
BufferedTransformation & | destination, | ||
const std::string & | outChannel | ||
) |
Definition at line 296 of file channels.cpp.
byte * ChannelSwitch::ChannelCreatePutSpace | ( | const std::string & | channel, |
size_t & | size | ||
) |
Definition at line 234 of file channels.cpp.
|
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 >.
Definition at line 183 of file channels.cpp.
bool ChannelSwitch::ChannelMessageSeriesEnd | ( | const std::string & | channel, |
int | propagation = -1 , |
||
bool | blocking = true |
||
) |
Definition at line 208 of file channels.cpp.
|
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 >.
Definition at line 150 of file channels.cpp.
size_t ChannelSwitch::ChannelPutModifiable2 | ( | const std::string & | channel, |
byte * | begin, | ||
size_t | length, | ||
int | messageEnd, | ||
bool | blocking | ||
) |
Definition at line 249 of file channels.cpp.
void ChannelSwitch::IsolatedInitialize | ( | const NameValuePairs & | parameters = g_nullNameValuePairs | ) |
Definition at line 175 of file channels.cpp.
void ChannelSwitch::RemoveDefaultRoute | ( | BufferedTransformation & | destination | ) |
Definition at line 271 of file channels.cpp.
void ChannelSwitch::RemoveDefaultRoute | ( | BufferedTransformation & | destination, |
const std::string & | outChannel | ||
) |
Definition at line 286 of file channels.cpp.
void ChannelSwitch::RemoveRoute | ( | const std::string & | inChannel, |
BufferedTransformation & | destination, | ||
const std::string & | outChannel | ||
) |
Definition at line 301 of file channels.cpp.
|
friend |
Definition at line 133 of file channels.h.