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*)
|
||||
{
|
||||
assert(m_state != nullptr);
|
||||
static_cast<StateTopBaseT*>(m_state)->timeoutEvent();
|
||||
clearTimeout();
|
||||
static_cast<StateTopBaseT*>(m_state)->timeoutEvent();
|
||||
});
|
||||
m_at_timer.expired.connect(
|
||||
[&](AtTimer*)
|
||||
{
|
||||
assert(m_state != nullptr);
|
||||
static_cast<StateTopBaseT*>(m_state)->timeoutAtEvent();
|
||||
clearTimeoutAt();
|
||||
static_cast<StateTopBaseT*>(m_state)->timeoutAtEvent();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -299,6 +299,10 @@ class StateMachine
|
|||
*/
|
||||
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.setEnable(true);
|
||||
}
|
||||
|
|
@ -327,6 +331,9 @@ class StateMachine
|
|||
*/
|
||||
void clearTimeout(void)
|
||||
{
|
||||
#ifdef ASYNC_STATE_MACHINE_DEBUG
|
||||
std::cout << "### StateMachine: clearTimeout()" << std::endl;
|
||||
#endif
|
||||
m_timer.setEnable(false);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@ QTEL=1.2.4.99.5
|
|||
LIBECHOLIB=1.3.3.99.2
|
||||
|
||||
# Version for the Async library
|
||||
LIBASYNC=1.6.99.22
|
||||
LIBASYNC=1.6.99.23
|
||||
|
||||
# SvxLink versions
|
||||
SVXLINK=1.7.99.70
|
||||
SVXLINK=1.7.99.71
|
||||
MODULE_HELP=1.0.0
|
||||
MODULE_PARROT=1.1.1
|
||||
MODULE_ECHO_LINK=1.5.99.3
|
||||
|
|
|
|||
Loading…
Reference in New Issue