f8/cpp/netmsghandler.cc
aozhiwei c866e95bdf 1
2020-06-24 13:38:59 +08:00

50 lines
1.2 KiB
C++

#include <a8/a8.h>
#include <a8/udplog.h>
#include <google/protobuf/message.h>
#include <google/protobuf/descriptor.h>
#include "framework/cpp/utils.h"
#include "framework/cpp/protoutils.h"
#include "framework/cpp/netmsghandler.h"
namespace f8
{
NetMsgHandler* GetNetMsgHandler(NetMsgHandlerObject* handlers,
unsigned short msgid)
{
return msgid < MAX_MSG_ID ? handlers->handlers[msgid] : nullptr;
}
void DumpMsgToLog(f8::MsgHdr& hdr, f8::NetMsgHandler* handler, const char* prefix)
{
return;
::google::protobuf::Message* msg = handler->prototype->New();
bool ok = msg->ParseFromArray(hdr.buf + hdr.offset, hdr.buflen - hdr.offset);
a8::UdpLog::Instance()->Debug
(
"%s%s %s",
{
prefix,
msg->GetTypeName(),
f8::PbToJson(msg)
});
delete msg;
}
void DumpMsgToLog(const ::google::protobuf::Message& msg, const char* prefix)
{
return;
a8::UdpLog::Instance()->Debug
(
"%s%s %s",
{
prefix,
msg.GetTypeName(),
f8::PbToJson(&msg)
});
}
}