From 7096025175b6d100923dcd66c1face07d2e28555 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 24 七月 2025 15:20:21 +0800
Subject: [PATCH] 1. 完善获取配方列表的功能 2. 添加获取配方超时警告
---
SourceCode/Bond/Servo/CRecipesManager.cpp | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/Servo/CRecipesManager.cpp b/SourceCode/Bond/Servo/CRecipesManager.cpp
index 591dfa7..354aaac 100644
--- a/SourceCode/Bond/Servo/CRecipesManager.cpp
+++ b/SourceCode/Bond/Servo/CRecipesManager.cpp
@@ -86,7 +86,18 @@
if (m_onSyncingStateChanged != nullptr) {
m_onSyncingStateChanged(m_nSyncStatus);
}
+ }
+ void CRecipesManager::syncTimeout()
+ {
+ lock();
+ m_nSyncStatus = SS_TIMEOUT;
+ m_nTimeoutCount = 0;
+ unlock();
+
+ if (m_onSyncingStateChanged != nullptr) {
+ m_onSyncingStateChanged(m_nSyncStatus);
+ }
}
short CRecipesManager::decodeRecipeListReport(const char* pszData, size_t size)
@@ -150,7 +161,7 @@
}
else if (reportType == RT_REQUEST_FROM_EAS) {
- int nRet = pRecipeList->addRecipePacket(toatlGroupCount, currentGroupCount, pszIdsData, 250 * 2);
+ int nRet = pRecipeList->addRecipePacket(totalMasterRecipeCount, toatlGroupCount, currentGroupCount, pszIdsData, 250 * 2);
if (MRLRC_CURRENT_RECIPE_COMPLETE == nRet) {
lock();
for (auto item : m_mapRecipes) {
@@ -304,9 +315,10 @@
if (m_nSyncStatus == SS_SYNCING) {
m_nTimeoutCount++;
if (m_nTimeoutCount > 10) {
- m_nSyncStatus = SS_TIMEOUT;
unlock();
+ syncTimeout();
TRACE("CRecipesManager::TimeoutCheckWorkingProc 超时退出\n");
+ lock();
}
}
--
Gitblit v1.9.3