From 7a3d77d5f55a44ed118db335e08dadcfb6529590 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 10 May 2016 08:00:41 +0100 Subject: [PATCH] Simplify the IPSC class. --- DMRIPSC.cpp | 53 +++++++++++++++++++++-------------------------------- DMRIPSC.h | 1 - 2 files changed, 21 insertions(+), 33 deletions(-) diff --git a/DMRIPSC.cpp b/DMRIPSC.cpp index a65a874..9688a2c 100644 --- a/DMRIPSC.cpp +++ b/DMRIPSC.cpp @@ -44,9 +44,8 @@ m_enabled(false), m_slot1(slot1), m_slot2(slot2), m_status(DISCONNECTED), -m_retryTimer(1000U, 10U), +m_retryTimer(1000U, 5U), m_timeoutTimer(1000U, 60U), -m_pingTimer(1000U, 5U), m_buffer(NULL), m_salt(NULL), m_streamId(NULL), @@ -119,8 +118,6 @@ bool CDMRIPSC::open() if (!ret) return false; - writeLogin(); - m_status = WAITING_LOGIN; m_timeoutTimer.start(); m_retryTimer.start(); @@ -319,13 +316,11 @@ void CDMRIPSC::clock(unsigned int ms) m_status = WAITING_LOGIN; m_timeoutTimer.start(); m_retryTimer.start(); - m_pingTimer.stop(); } else { LogError("Login to the master has failed, stopping IPSC"); m_status = DISCONNECTED; m_timeoutTimer.stop(); m_retryTimer.stop(); - m_pingTimer.stop(); } } else if (::memcmp(m_buffer, "RPTACK", 6U) == 0) { switch (m_status) { @@ -346,8 +341,7 @@ void CDMRIPSC::clock(unsigned int ms) LogMessage("Logged into the master successfully"); m_status = RUNNING; m_timeoutTimer.start(); - m_retryTimer.stop(); - m_pingTimer.start(); + m_retryTimer.start(); break; default: break; @@ -365,31 +359,26 @@ void CDMRIPSC::clock(unsigned int ms) } } - if (m_status != RUNNING) { - m_retryTimer.clock(ms); - if (m_retryTimer.isRunning() && m_retryTimer.hasExpired()) { - switch (m_status) { - case WAITING_LOGIN: - writeLogin(); - break; - case WAITING_AUTHORISATION: - writeAuthorisation(); - break; - case WAITING_CONFIG: - writeConfig(); - break; - default: - break; - } + m_retryTimer.clock(ms); + if (m_retryTimer.isRunning() && m_retryTimer.hasExpired()) { + switch (m_status) { + case WAITING_LOGIN: + writeLogin(); + break; + case WAITING_AUTHORISATION: + writeAuthorisation(); + break; + case WAITING_CONFIG: + writeConfig(); + break; + case RUNNING: + writePing(); + break; + default: + break; + } - m_retryTimer.start(); - } - } else { - m_pingTimer.clock(ms); - if (m_pingTimer.isRunning() && m_pingTimer.hasExpired()) { - writePing(); - m_pingTimer.start(); - } + m_retryTimer.start(); } m_timeoutTimer.clock(ms); diff --git a/DMRIPSC.h b/DMRIPSC.h index 069febe..209f29a 100644 --- a/DMRIPSC.h +++ b/DMRIPSC.h @@ -73,7 +73,6 @@ private: STATUS m_status; CTimer m_retryTimer; CTimer m_timeoutTimer; - CTimer m_pingTimer; unsigned char* m_buffer; unsigned char* m_salt; uint32_t* m_streamId;