Improve Async::StateMachine stability
Fixes #589 issue with ReflectorLogic, no reconnect after IP failure.
This commit is contained in:
parent
c0266909f6
commit
7ebd9ed530
|
|
@ -171,15 +171,15 @@ class StateMachine
|
||||||
[&](Timer*)
|
[&](Timer*)
|
||||||
{
|
{
|
||||||
assert(m_state != nullptr);
|
assert(m_state != nullptr);
|
||||||
static_cast<StateTopBaseT*>(m_state)->timeoutEvent();
|
|
||||||
clearTimeout();
|
clearTimeout();
|
||||||
|
static_cast<StateTopBaseT*>(m_state)->timeoutEvent();
|
||||||
});
|
});
|
||||||
m_at_timer.expired.connect(
|
m_at_timer.expired.connect(
|
||||||
[&](AtTimer*)
|
[&](AtTimer*)
|
||||||
{
|
{
|
||||||
assert(m_state != nullptr);
|
assert(m_state != nullptr);
|
||||||
static_cast<StateTopBaseT*>(m_state)->timeoutAtEvent();
|
|
||||||
clearTimeoutAt();
|
clearTimeoutAt();
|
||||||
|
static_cast<StateTopBaseT*>(m_state)->timeoutAtEvent();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -299,6 +299,10 @@ class StateMachine
|
||||||
*/
|
*/
|
||||||
void setTimeout(int timeout_ms)
|
void setTimeout(int timeout_ms)
|
||||||
{
|
{
|
||||||
|
#ifdef ASYNC_STATE_MACHINE_DEBUG
|
||||||
|
std::cout << "### StateMachine: setTimeout(" << timeout_ms << ")"
|
||||||
|
<< std::endl;
|
||||||
|
#endif
|
||||||
m_timer.setTimeout(timeout_ms);
|
m_timer.setTimeout(timeout_ms);
|
||||||
m_timer.setEnable(true);
|
m_timer.setEnable(true);
|
||||||
}
|
}
|
||||||
|
|
@ -327,6 +331,9 @@ class StateMachine
|
||||||
*/
|
*/
|
||||||
void clearTimeout(void)
|
void clearTimeout(void)
|
||||||
{
|
{
|
||||||
|
#ifdef ASYNC_STATE_MACHINE_DEBUG
|
||||||
|
std::cout << "### StateMachine: clearTimeout()" << std::endl;
|
||||||
|
#endif
|
||||||
m_timer.setEnable(false);
|
m_timer.setEnable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ QTEL=1.2.4.99.5
|
||||||
LIBECHOLIB=1.3.3.99.2
|
LIBECHOLIB=1.3.3.99.2
|
||||||
|
|
||||||
# Version for the Async library
|
# Version for the Async library
|
||||||
LIBASYNC=1.6.99.22
|
LIBASYNC=1.6.99.23
|
||||||
|
|
||||||
# SvxLink versions
|
# SvxLink versions
|
||||||
SVXLINK=1.7.99.70
|
SVXLINK=1.7.99.71
|
||||||
MODULE_HELP=1.0.0
|
MODULE_HELP=1.0.0
|
||||||
MODULE_PARROT=1.1.1
|
MODULE_PARROT=1.1.1
|
||||||
MODULE_ECHO_LINK=1.5.99.3
|
MODULE_ECHO_LINK=1.5.99.3
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue