transm/util/util.cpp
2024-12-11 17:00:59 +08:00

53 lines
1.3 KiB
C++

#include "util.h"
std::shared_ptr<spdlog::logger> get_logger(const std::string& mark, const std::string& log_file)
{
auto file_sink = std::make_shared<spdlog::sinks::rotating_file_sink_mt>(log_file, 1024 * 50, 3);
auto console_sink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
file_sink->set_pattern("[%Y-%m-%d %H:%M:%S.%e][%l]: %v");
console_sink->set_pattern("[%Y-%m-%d %H:%M:%S.%e][%l]: %v");
std::vector<spdlog::sink_ptr> sinks{file_sink, console_sink};
auto logger = std::make_shared<spdlog::logger>(mark, sinks.begin(), sinks.end());
logger->set_level(spdlog::level::info);
spdlog::register_logger(logger);
return logger;
}
CTransProtocal::CTransProtocal()
{
}
CTransProtocal::~CTransProtocal()
{
}
/*
【 transm TCP 数据协议 】
header 2 char: 0xFF 0xFE
type 2 char:
len 4 char:
data xxxxx:
tail 2 char: 0xFF 0xFF
*/
CFrameBuffer* CTransProtocal::parse(CMutBuffer& buffer)
{
CFrameBuffer* result = nullptr;
char header[] = {0xFF, 0xFE};
char tail[] = {0xFF, 0xFF};
int find = buffer.index_of(header, sizeof(header));
if (find < 0) {
return result;
}
short int type = *(reinterpret_cast<const short int*>(buffer.get_data() + find));
return result;
}
CFrameBuffer::CFrameBuffer()
{
}
CFrameBuffer::~CFrameBuffer()
{
}