mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 15:09:23 +08:00
Simplify the IPSC class.
This commit is contained in:
21
DMRIPSC.cpp
21
DMRIPSC.cpp
@@ -44,9 +44,8 @@ m_enabled(false),
|
|||||||
m_slot1(slot1),
|
m_slot1(slot1),
|
||||||
m_slot2(slot2),
|
m_slot2(slot2),
|
||||||
m_status(DISCONNECTED),
|
m_status(DISCONNECTED),
|
||||||
m_retryTimer(1000U, 10U),
|
m_retryTimer(1000U, 5U),
|
||||||
m_timeoutTimer(1000U, 60U),
|
m_timeoutTimer(1000U, 60U),
|
||||||
m_pingTimer(1000U, 5U),
|
|
||||||
m_buffer(NULL),
|
m_buffer(NULL),
|
||||||
m_salt(NULL),
|
m_salt(NULL),
|
||||||
m_streamId(NULL),
|
m_streamId(NULL),
|
||||||
@@ -119,8 +118,6 @@ bool CDMRIPSC::open()
|
|||||||
if (!ret)
|
if (!ret)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
writeLogin();
|
|
||||||
|
|
||||||
m_status = WAITING_LOGIN;
|
m_status = WAITING_LOGIN;
|
||||||
m_timeoutTimer.start();
|
m_timeoutTimer.start();
|
||||||
m_retryTimer.start();
|
m_retryTimer.start();
|
||||||
@@ -319,13 +316,11 @@ void CDMRIPSC::clock(unsigned int ms)
|
|||||||
m_status = WAITING_LOGIN;
|
m_status = WAITING_LOGIN;
|
||||||
m_timeoutTimer.start();
|
m_timeoutTimer.start();
|
||||||
m_retryTimer.start();
|
m_retryTimer.start();
|
||||||
m_pingTimer.stop();
|
|
||||||
} else {
|
} else {
|
||||||
LogError("Login to the master has failed, stopping IPSC");
|
LogError("Login to the master has failed, stopping IPSC");
|
||||||
m_status = DISCONNECTED;
|
m_status = DISCONNECTED;
|
||||||
m_timeoutTimer.stop();
|
m_timeoutTimer.stop();
|
||||||
m_retryTimer.stop();
|
m_retryTimer.stop();
|
||||||
m_pingTimer.stop();
|
|
||||||
}
|
}
|
||||||
} else if (::memcmp(m_buffer, "RPTACK", 6U) == 0) {
|
} else if (::memcmp(m_buffer, "RPTACK", 6U) == 0) {
|
||||||
switch (m_status) {
|
switch (m_status) {
|
||||||
@@ -346,8 +341,7 @@ void CDMRIPSC::clock(unsigned int ms)
|
|||||||
LogMessage("Logged into the master successfully");
|
LogMessage("Logged into the master successfully");
|
||||||
m_status = RUNNING;
|
m_status = RUNNING;
|
||||||
m_timeoutTimer.start();
|
m_timeoutTimer.start();
|
||||||
m_retryTimer.stop();
|
m_retryTimer.start();
|
||||||
m_pingTimer.start();
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -365,7 +359,6 @@ void CDMRIPSC::clock(unsigned int ms)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_status != RUNNING) {
|
|
||||||
m_retryTimer.clock(ms);
|
m_retryTimer.clock(ms);
|
||||||
if (m_retryTimer.isRunning() && m_retryTimer.hasExpired()) {
|
if (m_retryTimer.isRunning() && m_retryTimer.hasExpired()) {
|
||||||
switch (m_status) {
|
switch (m_status) {
|
||||||
@@ -378,19 +371,15 @@ void CDMRIPSC::clock(unsigned int ms)
|
|||||||
case WAITING_CONFIG:
|
case WAITING_CONFIG:
|
||||||
writeConfig();
|
writeConfig();
|
||||||
break;
|
break;
|
||||||
|
case RUNNING:
|
||||||
|
writePing();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_retryTimer.start();
|
m_retryTimer.start();
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
m_pingTimer.clock(ms);
|
|
||||||
if (m_pingTimer.isRunning() && m_pingTimer.hasExpired()) {
|
|
||||||
writePing();
|
|
||||||
m_pingTimer.start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m_timeoutTimer.clock(ms);
|
m_timeoutTimer.clock(ms);
|
||||||
if (m_timeoutTimer.isRunning() && m_timeoutTimer.hasExpired()) {
|
if (m_timeoutTimer.isRunning() && m_timeoutTimer.hasExpired()) {
|
||||||
|
|||||||
@@ -73,7 +73,6 @@ private:
|
|||||||
STATUS m_status;
|
STATUS m_status;
|
||||||
CTimer m_retryTimer;
|
CTimer m_retryTimer;
|
||||||
CTimer m_timeoutTimer;
|
CTimer m_timeoutTimer;
|
||||||
CTimer m_pingTimer;
|
|
||||||
unsigned char* m_buffer;
|
unsigned char* m_buffer;
|
||||||
unsigned char* m_salt;
|
unsigned char* m_salt;
|
||||||
uint32_t* m_streamId;
|
uint32_t* m_streamId;
|
||||||
|
|||||||
Reference in New Issue
Block a user