40 lines
819 B
C++
40 lines
819 B
C++
#ifndef COMMUNICATE_H
|
|
#define COMMUNICATE_H
|
|
|
|
#include <Util.h>
|
|
#include <cstdint>
|
|
|
|
// 这里规定,前 30 个内容(包含)为与服务端交流用。
|
|
// 大于 30 的内容仅做转发。
|
|
enum FrameBufferType : uint16_t {
|
|
FBT_SER_MSG_ASKCLIENTS = 0,
|
|
FBT_SER_MSG_YOURID,
|
|
FBT_SER_MSG_RESPONSE,
|
|
FBT_CLI_BIN_FILEDATA = 31,
|
|
FBT_CLI_MSG_COMMUNICATE,
|
|
FBT_CLI_INFO_DIRFILE
|
|
};
|
|
|
|
struct FrameBuffer {
|
|
FrameBuffer();
|
|
~FrameBuffer();
|
|
|
|
int32_t len{};
|
|
char* dataMut;
|
|
std::string fid;
|
|
std::string tid;
|
|
const char* dataConst;
|
|
FrameBufferType dataType{};
|
|
};
|
|
|
|
class Communicate
|
|
{
|
|
public:
|
|
Communicate();
|
|
|
|
public:
|
|
static FrameBuffer* ParseBuffer(MutBuffer& buffer);
|
|
static bool PackBuffer(FrameBuffer* frame, char** buf, int32_t& len);
|
|
};
|
|
|
|
#endif // COMMUNICATE_H
|