#pragma once #include "of_util.h" #include #include #include #include #include constexpr int g_BuffSize = 102400; enum FrameType : int16_t { TYPE_DEFAULT = 0, TYPE_GET_LIST, TYPE_DOWN_LIST, TYPE_UP_LIST, TYPE_CANCEL_LIST, TYPE_OPEN_FILE, TYPE_TRANS_FILE, TYPE_TRANS_DONE, TYPE_READY_TRANS, TYPE_INTERRUPT, TYPE_NO_HIT_TASK, TYPE_WAITTING }; using namespace ofen; std::shared_ptr get_logger(const std::string& mark, const std::string& log_file); class CFrameBuffer { public: CFrameBuffer(); ~CFrameBuffer(); public: std::string fid_{}; std::string tid_{}; public: FrameType type_{}; char* data_{}; int len_{}; char mark_{}; }; using ExFun_t = std::function; /* 【 transm TCP 数据协议 】 header 2 char: 0xFF 0xFE type 2 char: mark 1 char: from 32 char: to 32 char: len 4 char: data xxxxx: tail 2 char: 0xFF 0xFF */ class CTransProtocal { public: CTransProtocal(); ~CTransProtocal(); public: static CFrameBuffer* parse(CMutBuffer& buffer); static bool pack(CFrameBuffer* buf, char** out_buf, int& len); };