5#include <QtCore/QTimer>
36 const QString& stateName,
37 QAbstractState* nextState,
38 const QString& message = QString());
45 const QString& stateName,
46 const QString& message = QString());
54 double multiplier = 2.0,
55 int maxDelayMsecs = 60000);
64 int maxDelayMsecs = 60000);
78 double multiplier = 2.0,
79 int maxDelayMsecs = 60000,
80 double jitterFraction = 0.25);
QGroundControl specific state machine with enhanced error handling.
std::function< int(int)> exponentialBackoff(int initialDelayMsecs, double multiplier, int maxDelayMsecs)
std::function< int(int)> jitteredExponentialBackoff(int initialDelayMsecs, double multiplier, int maxDelayMsecs, double jitterFraction)
std::function< int(int)> constantDelay(int delayMsecs)
FunctionState * logAndContinue(QGCStateMachine *machine, const QString &stateName, QAbstractState *nextState, const QString &message)
FunctionState * logAndStop(QGCStateMachine *machine, const QString &stateName, const QString &message)
std::function< int(int)> linearBackoff(int initialDelayMsecs, int incrementMsecs, int maxDelayMsecs)