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

A filter that checks messages on two channels for equality. More...

#include <mqueue.h>

+ Inheritance diagram for EqualityComparisonFilter:

Classes

struct  MismatchDetected
 

Public Member Functions

 EqualityComparisonFilter (BufferedTransformation *attachment=NULL, bool throwIfNotEqual=true, const std::string &firstChannel="0", const std::string &secondChannel="1")
 
size_t ChannelPut2 (const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking)
 
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)
 
bool IsolatedFlush (bool hardFlush, bool blocking)
 
bool ChannelFlush (const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true)
 
- Public Member Functions inherited from Multichannel< Filter >
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)
 
bool ChannelPutModifiable (const std::string &channel, byte *inString, size_t length)
 
virtual size_t ChannelPut2 (const std::string &channel, const byte *begin, size_t length, int messageEnd, bool blocking)=0
 
size_t ChannelPutModifiable2 (const std::string &channel, byte *begin, size_t length, int messageEnd, bool blocking)
 
virtual bool ChannelFlush (const std::string &channel, bool hardFlush, int propagation=-1, bool blocking=true)=0
 
- Public Member Functions inherited from CustomFlushPropagation< T >

Detailed Description

A filter that checks messages on two channels for equality.

Definition at line 71 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

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

Definition at line 77 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

Implements Multichannel< Filter >.

Definition at line 84 of file mqueue.cpp.

◆ ChannelMessageSeriesEnd()

bool EqualityComparisonFilter::ChannelMessageSeriesEnd ( const std::string &  channel,
int  propagation = -1,
bool  blocking = true 
)

Definition at line 135 of file mqueue.cpp.


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