template<typename... TcheckArgs>
class LSST::M1M3::SS::LimitTrigger< TcheckArgs >
Abstract interface class for limiting some action to predefined execution.
This class shall be used when a large number of messages (violation of some criteria) can be send. The class can limit number of occurrences it will actually run the execute code.
- Template Parameters
-
TcheckArgs | arguments passed to check and execute methods |
Example:
public:
MyLimitTrigger(int minOccurence) {
reset();
_minOccurence = minOccurence;
}
bool trigger() override { return ++_counter >= _minOccurence; }
void execute(const char *msg) override { std::cout << "Executed with
message " << msg << std::endl; } void reset() override { _counter = 0; }
private:
int _counter;
int _minOccurence;
};
....
MyLimitTrigger limitTrigger(10);
....
limitTrigger.check();
....
Abstract interface class for limiting some action to predefined execution.
Definition LimitTrigger.h:66