6 #ifndef SWIFT_MISC_DIGESTSIGNAL_H
7 #define SWIFT_MISC_DIGESTSIGNAL_H
23 template <
class T,
class F1,
class F2>
25 std::chrono::milliseconds maxDelay = std::chrono::milliseconds(500),
int maxInputsPerDigest = 3)
26 : m_maxInputsPerDigest(maxInputsPerDigest)
34 template <
class T,
class F2>
35 CDigestSignal(T *sender, F2 digestSignal, std::chrono::milliseconds maxDelay = std::chrono::milliseconds(500),
36 int maxInputsPerDigest = 3)
37 : m_maxInputsPerDigest(maxInputsPerDigest)
59 void init(std::chrono::milliseconds maxDelay);
62 const int m_maxInputsPerDigest = 3;
63 int m_inputsCount = 0;
Receive 1..n signals, collect them over time, and resend afer n milliseconds.
CDigestSignal(T *sender, F1 inputSignal, F2 digestSignal, std::chrono::milliseconds maxDelay=std::chrono::milliseconds(500), int maxInputsPerDigest=3)
Constructor.
void digestSignal()
Send digest signal.
~CDigestSignal()=default
Destructor.
void inputSignal()
Received input signal, or manually trigger.
CDigestSignal(T *sender, F2 digestSignal, std::chrono::milliseconds maxDelay=std::chrono::milliseconds(500), int maxInputsPerDigest=3)
Constructor without input signal, can be manually triggered.
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.