This commit is contained in:
qingjiao 2025-12-06 10:48:12 +08:00
parent 0364bfd97d
commit 8459eba2d6
4 changed files with 19 additions and 6 deletions

View File

@ -86,3 +86,15 @@ TaskInfo * TaskInfo::getData(const int TaskID) {
} }
return nullptr; return nullptr;
} }
void TaskInfo::StopAll() {
for (const auto &task : TaskInfoMap) {
const auto taskInfo = getData(task.second->TaskID);
if (taskInfo) {
if (taskInfo->Type == 0 && taskInfo->pushFlowTask) {
taskInfo->pushFlowTask->stop();
}
}
Stop(task.second->TaskID);
}
}

View File

@ -38,6 +38,7 @@ public:
static void Start(TaskInfo* taskInfo); static void Start(TaskInfo* taskInfo);
static void Stop(int TaskID); static void Stop(int TaskID);
static TaskInfo* getData(int TaskID); static TaskInfo* getData(int TaskID);
static void StopAll();
}; };

View File

@ -73,17 +73,13 @@ public:
if(Terms.IsContains(TID)){ if(Terms.IsContains(TID)){
return; return;
} }
if(NotificationTerminal(TID, Command)){ Terms.Put(TID,TID);
Terms.Put(TID,TID);
}
} }
void RemoveTerm(const int TID,const CTL::ByteArray& Command){ void RemoveTerm(const int TID,const CTL::ByteArray& Command){
if(!Terms.IsContains(TID)){ if(!Terms.IsContains(TID)){
return; return;
} }
if(NotificationTerminal(TID, Command)){ Terms.Remove(TID);
Terms.Remove(TID);
}
} }
static bool NotificationTerminal(const int TID,const CTL::ByteArray& Command){ static bool NotificationTerminal(const int TID,const CTL::ByteArray& Command){
auto Term = Terminal::getData(TID); auto Term = Terminal::getData(TID);

View File

@ -1,9 +1,11 @@
#include "ConnectionService.h" #include "ConnectionService.h"
#include "BS_Log.h"
#include "Config.h" #include "Config.h"
#include "PortService/ByteTool.h" #include "PortService/ByteTool.h"
#include "PortService/DataPacket.h" #include "PortService/DataPacket.h"
#include "PortService/Routing.h" #include "PortService/Routing.h"
#include "Task/TaskInfo.h"
CTL::WebSocketClient * ConnectionService::getSocket() { CTL::WebSocketClient * ConnectionService::getSocket() {
return &m_socket; return &m_socket;
@ -25,6 +27,8 @@ void ConnectionService::OnOpen(CTL::WebSocketInfo &info) {
void ConnectionService::Close(CTL::WebSocketInfo &info) { void ConnectionService::Close(CTL::WebSocketInfo &info) {
m_info = nullptr; m_info = nullptr;
BS_Log::Log("ConnectService Close");
TaskInfo::StopAll();
} }
void ConnectionService::Register() { void ConnectionService::Register() {