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);
54 virtual std::shared_ptr<FilterOperator> getOperator() = 0;
61 std::shared_ptr<MessageTimeOperator> td;
65 virtual void set(std::string_view property,
double val)
override;
66 virtual void setString(std::string_view property, std::string_view val)
override;
67 virtual std::shared_ptr<FilterOperator> getOperator()
override;
70 class RandomDelayGenerator;
75 std::shared_ptr<MessageTimeOperator> td;
76 std::unique_ptr<RandomDelayGenerator> rdelayGen;
85 virtual void set(std::string_view property,
double val)
override;
86 virtual void setString(std::string_view property, std::string_view val)
override;
87 virtual std::shared_ptr<FilterOperator> getOperator()
override;
93 std::atomic<double> dropProb{0.0};
94 std::shared_ptr<MessageConditionalOperator> tcond;
99 virtual void set(std::string_view property,
double val)
override;
100 virtual void setString(std::string_view property, std::string_view val)
override;
101 virtual std::shared_ptr<FilterOperator> getOperator()
override;
107 std::shared_ptr<MessageDestOperator> op;
108 atomic_guarded<std::string> newDest;
115 virtual void set(std::string_view property,
double val)
override;
116 virtual void setString(std::string_view property, std::string_view val)
override;
117 virtual std::shared_ptr<FilterOperator> getOperator()
override;
121 std::string rerouteOperation(
const std::string& src,
const std::string& dest)
const;
127 std::shared_ptr<FirewallOperator> op;
129 gmlc::libguarded::cow_guarded<std::vector<std::string>> allowed;
131 gmlc::libguarded::cow_guarded<std::vector<std::string>> blocked;
136 virtual void set(std::string_view property,
double val)
override;
137 virtual void setString(std::string_view property, std::string_view val)
override;
138 virtual std::shared_ptr<FilterOperator> getOperator()
override;
142 bool allowPassed(
const Message* mess)
const;
148 std::shared_ptr<CloneOperator> op;
156 virtual void set(std::string_view property,
double val)
override;
157 virtual void setString(std::string_view property, std::string_view val)
override;
158 virtual std::shared_ptr<FilterOperator> getOperator()
override;
163 std::vector<std::unique_ptr<Message>> sendMessage(
const Message* mess)
const;
Definition: application_api/Federate.hpp:27
Definition: FilterOperations.hpp:146
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:352
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:346
Definition: FilterOperations.hpp:58
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:36
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:45
Definition: FilterOperations.hpp:34
virtual void setString(std::string_view property, std::string_view val)
Definition: FilterOperations.cpp:25
virtual void set(std::string_view property, double val)
Definition: FilterOperations.cpp:24
Definition: FilterOperations.hpp:125
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:325
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:323
Definition: core-data.hpp:29
Definition: FilterOperations.hpp:73
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:193
~RandomDelayFilterOperation()
RandomDelayFilterOperation()
Definition: FilterOperations.cpp:185
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:203
Definition: FilterOperations.hpp:91
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:240
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:234
Definition: FilterOperations.hpp:105
virtual void set(std::string_view property, double val) override
Definition: FilterOperations.cpp:259
virtual void setString(std::string_view property, std::string_view val) override
Definition: FilterOperations.cpp:261
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