2025-12-04 18:12:54 +08:00
|
|
|
#ifndef DISTRIBUTION_SERVICE_TASK_INFO_H
|
|
|
|
|
#define DISTRIBUTION_SERVICE_TASK_INFO_H
|
|
|
|
|
|
|
|
|
|
#include "CCDatagramSocket.h"
|
|
|
|
|
#include "CCThreadPool.h"
|
|
|
|
|
#include "TL/Map.h"
|
|
|
|
|
#include "PushFlowTask.h"
|
|
|
|
|
|
2025-12-05 16:46:23 +08:00
|
|
|
struct Dist_Tasks {
|
2025-12-09 19:09:12 +08:00
|
|
|
JSON_TYPE_INTRUSIVE(Dist_Tasks,TaskID,TaskType,Terms,AimIP,AimPort,ServerPort,SendOrder,TaskOrder);
|
2025-12-05 16:46:23 +08:00
|
|
|
int TaskID = -1;
|
|
|
|
|
int TaskType = 0;
|
|
|
|
|
CTL::String AimIP;
|
|
|
|
|
int AimPort = 10062;
|
|
|
|
|
int ServerPort = 10060;
|
|
|
|
|
CCVector<int> Terms;
|
2025-12-09 19:09:12 +08:00
|
|
|
int SendOrder = 0;
|
|
|
|
|
std::vector<char> TaskOrder{};
|
2025-12-05 16:46:23 +08:00
|
|
|
};
|
|
|
|
|
|
2025-12-04 18:12:54 +08:00
|
|
|
class TaskInfo {
|
2026-03-24 14:43:26 +08:00
|
|
|
static CTL::Map<int,TaskInfo*> TaskInfoMap;
|
|
|
|
|
static CTL::DatagramSocket* socket;
|
|
|
|
|
static std::shared_mutex mutex_socket;
|
2025-12-04 18:12:54 +08:00
|
|
|
public:
|
2026-03-24 14:43:26 +08:00
|
|
|
static CTL::ThreadPool thread_pool;
|
2025-12-04 18:12:54 +08:00
|
|
|
TaskInfo();
|
|
|
|
|
~TaskInfo();
|
|
|
|
|
void BitstreamHeartbeat();
|
|
|
|
|
int Flag = 0;
|
|
|
|
|
int Type = 0;
|
|
|
|
|
int TaskID = -1;
|
|
|
|
|
int TaskType = 0;
|
|
|
|
|
int ServerPort = 10060;
|
2025-12-09 19:09:12 +08:00
|
|
|
int SendOrder = 0;
|
|
|
|
|
std::vector<char> TaskOrder{};
|
2025-12-04 18:12:54 +08:00
|
|
|
CTL::Map<int, int> Terms;
|
|
|
|
|
PushFlowTask* pushFlowTask = nullptr;
|
|
|
|
|
private:
|
|
|
|
|
public:
|
|
|
|
|
static void InitSocket();
|
|
|
|
|
static void Start(TaskInfo* taskInfo);
|
|
|
|
|
static void Stop(int TaskID);
|
|
|
|
|
static TaskInfo* getData(int TaskID);
|
2025-12-06 10:48:12 +08:00
|
|
|
static void StopAll();
|
2025-12-04 18:12:54 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|