13 #include "../common/GuardedTypes.hpp"
14 #include "../core/helicsTime.hpp"
15 #include "gmlc/libguarded/cow_guarded.hpp"
21 #include <string_view>
27 class MessageTimeOperator;
29 class MessageConditionalOperator;
30 class MessageDestOperator;
32 class FirewallOperator;
48 virtual void set(std::string_view property,
double val);
53 virtual void setString(std::string_view property, std::string_view val);
58 virtual double getProperty(std::string_view property);
62 virtual std::string
getString(std::string_view property);
72 std::shared_ptr<MessageTimeOperator> td;
76 virtual void set(std::string_view property,
double val)
override;
77 virtual void setString(std::string_view property, std::string_view val)
override;
78 virtual double getProperty(std::string_view property)
override;
79 virtual std::string
getString(std::string_view property)
override;
80 virtual std::shared_ptr<FilterOperator>
getOperator()
override;
83 class RandomDelayGenerator;
88 std::shared_ptr<MessageTimeOperator> td;
89 std::unique_ptr<RandomDelayGenerator> rdelayGen;
98 virtual void set(std::string_view property,
double val)
override;
99 virtual void setString(std::string_view property, std::string_view val)
override;
100 virtual double getProperty(std::string_view property)
override;
101 virtual std::string
getString(std::string_view property)
override;
102 virtual std::shared_ptr<FilterOperator>
getOperator()
override;
108 std::atomic<double> dropProb{0.0};
109 std::shared_ptr<MessageConditionalOperator> tcond;
114 virtual void set(std::string_view property,
double val)
override;
115 virtual void setString(std::string_view property, std::string_view val)
override;
116 virtual double getProperty(std::string_view property)
override;
117 virtual std::string
getString(std::string_view property)
override;
118 virtual std::shared_ptr<FilterOperator>
getOperator()
override;
124 std::shared_ptr<MessageDestOperator> op;
125 atomic_guarded<std::string> newDest;
132 virtual void set(std::string_view property,
double val)
override;
133 virtual void setString(std::string_view property, std::string_view val)
override;
134 virtual double getProperty(std::string_view property)
override;
135 virtual std::string
getString(std::string_view property)
override;
136 virtual std::shared_ptr<FilterOperator>
getOperator()
override;
140 std::string rerouteOperation(
const std::string& src,
const std::string& dest)
const;
146 std::shared_ptr<FirewallOperator> op;
148 gmlc::libguarded::cow_guarded<std::vector<std::string>> allowed;
150 gmlc::libguarded::cow_guarded<std::vector<std::string>> blocked;
155 virtual void set(std::string_view property,
double val)
override;
156 virtual void setString(std::string_view property, std::string_view val)
override;
157 virtual double getProperty(std::string_view property)
override;
158 virtual std::string
getString(std::string_view property)
override;
159 virtual std::shared_ptr<FilterOperator>
getOperator()
override;
163 bool allowPassed(
const Message* mess)
const;
169 std::shared_ptr<CloneOperator> op;
177 virtual void set(std::string_view property,
double val)
override;
178 virtual void setString(std::string_view property, std::string_view val)
override;
179 virtual double getProperty(std::string_view property)
override;
180 virtual std::string
getString(std::string_view property)
override;
181 virtual std::shared_ptr<FilterOperator>
getOperator()
override;
186 std::vector<std::unique_ptr<Message>> sendMessage(
const Message* mess)
const;
Definition: application_api/Federate.hpp:27
Definition: FilterOperations.hpp:167
virtual std::string getString(std::string_view property) override
Definition: FilterOperations.cpp:506
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:473
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:467
virtual double getProperty(std::string_view property) override
Definition: FilterOperations.cpp:501
virtual std::shared_ptr< FilterOperator > getOperator() override
Definition: FilterOperations.cpp:530
Definition: FilterOperations.hpp:69
virtual double getProperty(std::string_view property) override
Definition: FilterOperations.cpp:69
virtual std::string getString(std::string_view property) override
Definition: FilterOperations.cpp:77
virtual std::shared_ptr< FilterOperator > getOperator() override
Definition: FilterOperations.cpp:85
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:48
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:57
Definition: FilterOperations.hpp:34
virtual void setString(std::string_view property, std::string_view val)
Definition: FilterOperations.cpp:28
virtual void set(std::string_view property, double val)
Definition: FilterOperations.cpp:27
virtual std::shared_ptr< FilterOperator > getOperator()=0
virtual std::string getString(std::string_view property)
Definition: FilterOperations.cpp:34
virtual double getProperty(std::string_view property)
Definition: FilterOperations.cpp:30
Definition: FilterOperations.hpp:144
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:436
virtual std::string getString(std::string_view property) override
Definition: FilterOperations.cpp:443
virtual double getProperty(std::string_view property) override
Definition: FilterOperations.cpp:438
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:434
virtual std::shared_ptr< FilterOperator > getOperator() override
Definition: FilterOperations.cpp:448
Definition: core-data.hpp:29
Definition: FilterOperations.hpp:86
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:224
~RandomDelayFilterOperation()
virtual std::shared_ptr< FilterOperator > getOperator() override
Definition: FilterOperations.cpp:284
RandomDelayFilterOperation()
Definition: FilterOperations.cpp:216
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:234
virtual double getProperty(std::string_view property) override
Definition: FilterOperations.cpp:252
virtual std::string getString(std::string_view property) override
Definition: FilterOperations.cpp:265
Definition: FilterOperations.hpp:106
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:303
virtual std::string getString(std::string_view property) override
Definition: FilterOperations.cpp:315
virtual double getProperty(std::string_view property) override
Definition: FilterOperations.cpp:307
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:297
virtual std::shared_ptr< FilterOperator > getOperator() override
Definition: FilterOperations.cpp:323
Definition: FilterOperations.hpp:122
virtual double getProperty(std::string_view property) override
Definition: FilterOperations.cpp:360
virtual std::string getString(std::string_view property) override
Definition: FilterOperations.cpp:365
virtual std::shared_ptr< FilterOperator > getOperator() override
Definition: FilterOperations.cpp:392
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:338
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:340
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
constexpr Time timeZero
Definition: helicsTime.hpp:31
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27