helics  3.5.1
Public Types | Public Member Functions | List of all members
helics::FirewallOperator Class Reference

#include <MessageOperators.hpp>

+ Inheritance diagram for helics::FirewallOperator:

Public Types

enum class  operations : int {
  none = -1 , drop = 0 , pass = 1 , set_flag1 = 2 ,
  set_flag2 = 3 , set_flag3 = 4
}
 

Public Member Functions

 FirewallOperator ()=default
 
 FirewallOperator (std::function< bool(const Message *)> userCheckFunction)
 
void setCheckFunction (std::function< bool(const Message *)> userCheckFunction)
 
void setOperation (operations newop)
 
- Public Member Functions inherited from helics::FilterOperator
 FilterOperator ()=default
 
virtual ~FilterOperator ()=default
 
virtual std::vector< std::unique_ptr< Message > > processVector (std::unique_ptr< Message > message)
 
std::unique_ptr< Messageoperator() (std::unique_ptr< Message > message)
 
virtual bool isMessageGenerating () const
 

Detailed Description

class defining an message operator that either passes the message or not

the evaluation function used should return true if the message should be allowed through false if it should be dropped

Member Enumeration Documentation

◆ operations

enumeration of the possible operations of the firewall

Constructor & Destructor Documentation

◆ FirewallOperator() [1/2]

helics::FirewallOperator::FirewallOperator ( )
default

default constructor

◆ FirewallOperator() [2/2]

helics::FirewallOperator::FirewallOperator ( std::function< bool(const Message *)>  userCheckFunction)
explicit

set the function to modify the data of the message in the constructor

Member Function Documentation

◆ setCheckFunction()

void helics::FirewallOperator::setCheckFunction ( std::function< bool(const Message *)>  userCheckFunction)

set the function to modify the data of the message

◆ setOperation()

void helics::FirewallOperator::setOperation ( operations  newop)
inline

set the operation to perform on positive checkFunction


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