EqualityComparisonFilter Class Reference

Filter that checks messages on two channels for equality. More...

`#include <mqueue.h>`

Inheritance diagram for EqualityComparisonFilter:

## Classes

struct | MismatchDetected
| Different messages were detected. More...

## Public Member Functions

| EqualityComparisonFilter (BufferedTransformation *attachment=NULL, bool throwIfNotEqual=true, const std::string &firstChannel="0", const std::string &secondChannel="1")
| Construct an EqualityComparisonFilter.
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.
bool | ChannelMessageSeriesEnd (const std::string &channel, int propagation=-1, bool blocking=true)
Public Member Functions inherited from Unflushable< Multichannel< Filter > >
bool | Flush (bool completeFlush, int propagation=-1, bool blocking=true)
| Flush buffered input and/or output, with signal propagation.
bool | IsolatedFlush (bool hardFlush, bool blocking)
| Flushes data buffered by this object, without signal propagation.
bool | ChannelFlush (const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true)
| Flush buffered input and/or output on a channel.
Public Member Functions inherited from Multichannel< Filter >
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 >

## Detailed Description

Filter that checks messages on two channels for equality.

Definition at line 97 of file mqueue.h.

## Constructor & Destructor Documentation

## EqualityComparisonFilter()

EqualityComparisonFilter::EqualityComparisonFilter | ( | BufferedTransformation * | attachment = `NULL`,
|  | bool | throwIfNotEqual = `true`,
|  | const std::string & | firstChannel = `"0"`,
|  | const std::string & | secondChannel = `"1"`
| ) |  |

inline

Construct an EqualityComparisonFilter.

Parameters

  attachment | an attached transformation
  throwIfNotEqual | flag indicating whether the objects throws
  firstChannel | string naming the first channel
  secondChannel | string naming the second channel

Exceptions

  MismatchDetected | if throwIfNotEqual is true and not equal

If throwIfNotEqual is false, this filter will output a '\0' byte when it detects a mismatch, '\1' otherwise.

Definition at line 115 of file mqueue.h.

## Member Function Documentation

## ChannelPut2()

size_t EqualityComparisonFilter::ChannelPut2 | ( | const std::string & | channel,
|  | const byte * | begin,
|  | size_t | length,
|  | int | messageEnd,
|  | bool | blocking
| ) |  |

virtual

Input multiple bytes for processing on a channel.

Parameters

  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.

Returns
  the number of bytes that remain to be processed (i.e., bytes not processed)

Implements Multichannel< Filter >.

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

- mqueue.h