1
This commit is contained in:
parent
8e1aa6c19b
commit
8d7062488f
@ -12,6 +12,11 @@ const std::string App::GetPkgName()
|
|||||||
return "mangosd";
|
return "mangosd";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int App::GetPreprocessThreadNum()
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
void App::Init()
|
void App::Init()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ class App : public f8::UserApp
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
virtual const std::string GetPkgName() override;
|
virtual const std::string GetPkgName() override;
|
||||||
|
virtual int GetPreprocessThreadNum() override;
|
||||||
virtual void Init() override;
|
virtual void Init() override;
|
||||||
virtual void UnInit() override;
|
virtual void UnInit() override;
|
||||||
virtual void Update(int delta_time) override;
|
virtual void Update(int delta_time) override;
|
||||||
|
38
third_party/f8/f8/app.cc
vendored
38
third_party/f8/f8/app.cc
vendored
@ -206,8 +206,10 @@ namespace f8
|
|||||||
int seqid,
|
int seqid,
|
||||||
const char *msgbody,
|
const char *msgbody,
|
||||||
int bodylen,
|
int bodylen,
|
||||||
unsigned short tag,
|
const char *playload,
|
||||||
std::any* user_data)
|
int playload_len,
|
||||||
|
unsigned short tag
|
||||||
|
)
|
||||||
{
|
{
|
||||||
char *p = (char*)malloc(sizeof(MsgHdr) + bodylen);
|
char *p = (char*)malloc(sizeof(MsgHdr) + bodylen);
|
||||||
MsgHdr* hdr = (MsgHdr*)p;
|
MsgHdr* hdr = (MsgHdr*)p;
|
||||||
@ -215,13 +217,10 @@ namespace f8
|
|||||||
hdr->seqid = seqid;
|
hdr->seqid = seqid;
|
||||||
hdr->msgid = msgid;
|
hdr->msgid = msgid;
|
||||||
hdr->socket_handle = socket_handle;
|
hdr->socket_handle = socket_handle;
|
||||||
hdr->buf = p + sizeof(MsgHdr);
|
|
||||||
hdr->buflen = bodylen;
|
hdr->buflen = bodylen;
|
||||||
hdr->offset = 0;
|
|
||||||
hdr->user_data = user_data;
|
|
||||||
hdr->tag = tag;
|
hdr->tag = tag;
|
||||||
if (bodylen > 0) {
|
if (bodylen > 0) {
|
||||||
memmove((void*)hdr->buf, msgbody, bodylen);
|
memmove(p + sizeof(MsgHdr), msgbody, bodylen);
|
||||||
}
|
}
|
||||||
++msgnode_size_;
|
++msgnode_size_;
|
||||||
net_data_queue_.Push(&hdr->entry);
|
net_data_queue_.Push(&hdr->entry);
|
||||||
@ -405,6 +404,8 @@ namespace f8
|
|||||||
int seqid,
|
int seqid,
|
||||||
const char *msgbody,
|
const char *msgbody,
|
||||||
int bodylen,
|
int bodylen,
|
||||||
|
const char *playload,
|
||||||
|
int playload_len,
|
||||||
unsigned short tag)
|
unsigned short tag)
|
||||||
{
|
{
|
||||||
impl_->AddSocketMsg(sockfrom,
|
impl_->AddSocketMsg(sockfrom,
|
||||||
@ -413,27 +414,10 @@ namespace f8
|
|||||||
seqid,
|
seqid,
|
||||||
msgbody,
|
msgbody,
|
||||||
bodylen,
|
bodylen,
|
||||||
tag,
|
playload,
|
||||||
nullptr);
|
playload_len,
|
||||||
}
|
tag
|
||||||
|
);
|
||||||
void App::AddSocketMsgAndUserData(unsigned short sockfrom,
|
|
||||||
long long socket_handle,
|
|
||||||
int msgid,
|
|
||||||
int seqid,
|
|
||||||
const char *msgbody,
|
|
||||||
int bodylen,
|
|
||||||
unsigned short tag,
|
|
||||||
std::any* user_data)
|
|
||||||
{
|
|
||||||
impl_->AddSocketMsg(sockfrom,
|
|
||||||
socket_handle,
|
|
||||||
msgid,
|
|
||||||
seqid,
|
|
||||||
msgbody,
|
|
||||||
bodylen,
|
|
||||||
tag,
|
|
||||||
user_data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
10
third_party/f8/f8/app.h
vendored
10
third_party/f8/f8/app.h
vendored
@ -29,15 +29,9 @@ namespace f8
|
|||||||
int seqid,
|
int seqid,
|
||||||
const char *buf,
|
const char *buf,
|
||||||
int buflen,
|
int buflen,
|
||||||
|
const char *playload,
|
||||||
|
int playload_len,
|
||||||
unsigned short tag);
|
unsigned short tag);
|
||||||
void AddSocketMsgAndUserData(unsigned short sockfrom,
|
|
||||||
long long socket_handle,
|
|
||||||
int msgid,
|
|
||||||
int seqid,
|
|
||||||
const char *buf,
|
|
||||||
int buflen,
|
|
||||||
unsigned short tag,
|
|
||||||
std::any* user_data);
|
|
||||||
char** GetArgv();
|
char** GetArgv();
|
||||||
int GetArgc();
|
int GetArgc();
|
||||||
long long GetMsgNodeSize();
|
long long GetMsgNodeSize();
|
||||||
|
2
third_party/f8/f8/netmsghandler.cc
vendored
2
third_party/f8/f8/netmsghandler.cc
vendored
@ -20,7 +20,7 @@ namespace f8
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
::google::protobuf::Message* msg = handler->prototype->New();
|
::google::protobuf::Message* msg = handler->prototype->New();
|
||||||
bool ok = msg->ParseFromArray(hdr.buf + hdr.offset, hdr.buflen - hdr.offset);
|
bool ok = msg->ParseFromArray(hdr.GetBodyData(), hdr.GetBodyLen());
|
||||||
f8::UdpLog::Instance()->Debug
|
f8::UdpLog::Instance()->Debug
|
||||||
(
|
(
|
||||||
"%s%s:%d %s",
|
"%s%s:%d %s",
|
||||||
|
2
third_party/f8/f8/netmsghandler.h
vendored
2
third_party/f8/f8/netmsghandler.h
vendored
@ -50,7 +50,7 @@ namespace f8
|
|||||||
if (handler->custom_parser) {
|
if (handler->custom_parser) {
|
||||||
ok = handler->custom_parser(hdr, &msg);
|
ok = handler->custom_parser(hdr, &msg);
|
||||||
} else {
|
} else {
|
||||||
ok = msg.ParseFromArray(hdr->buf + hdr->offset, hdr->buflen - hdr->offset);
|
ok = msg.ParseFromArray((char*)hdr + sizeof(MsgHdr), hdr->buflen);
|
||||||
}
|
}
|
||||||
assert(ok);
|
assert(ok);
|
||||||
if (ok) {
|
if (ok) {
|
||||||
|
21
third_party/f8/f8/protoutils.cc
vendored
21
third_party/f8/f8/protoutils.cc
vendored
@ -303,11 +303,30 @@ namespace f8
|
|||||||
return sizeof(WSProxyPackHead_S) + packlen;
|
return sizeof(WSProxyPackHead_S) + packlen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* MsgHdr::GetBodyData() const
|
||||||
|
{
|
||||||
|
return (char*)this + sizeof(MsgHdr);
|
||||||
|
}
|
||||||
|
|
||||||
|
int MsgHdr::GetBodyLen() const
|
||||||
|
{
|
||||||
|
return buflen;
|
||||||
|
}
|
||||||
|
|
||||||
|
char* MsgHdr::GetPlayloadData() const
|
||||||
|
{
|
||||||
|
return (char*)this + sizeof(MsgHdr) + GetBodyLen();
|
||||||
|
}
|
||||||
|
|
||||||
|
int MsgHdr::GetPlayloadLen() const
|
||||||
|
{
|
||||||
|
return payload_buflen;
|
||||||
|
}
|
||||||
|
|
||||||
MsgHdr* MsgHdr::Clone()
|
MsgHdr* MsgHdr::Clone()
|
||||||
{
|
{
|
||||||
MsgHdr* hdr = (MsgHdr*)malloc(sizeof(MsgHdr) + buflen);
|
MsgHdr* hdr = (MsgHdr*)malloc(sizeof(MsgHdr) + buflen);
|
||||||
memmove((void*)hdr, (void*)this, sizeof(MsgHdr) + buflen);
|
memmove((void*)hdr, (void*)this, sizeof(MsgHdr) + buflen);
|
||||||
hdr->buf = ((char*)hdr) + sizeof(MsgHdr);
|
|
||||||
if (user_data) {
|
if (user_data) {
|
||||||
hdr->user_data = new(std::any);
|
hdr->user_data = new(std::any);
|
||||||
*hdr->user_data = *user_data;
|
*hdr->user_data = *user_data;
|
||||||
|
23
third_party/f8/f8/protoutils.h
vendored
23
third_party/f8/f8/protoutils.h
vendored
@ -10,21 +10,30 @@ namespace a8
|
|||||||
namespace f8
|
namespace f8
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class AppImpl;
|
||||||
struct MsgHdr
|
struct MsgHdr
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
char* GetBodyData() const;
|
||||||
|
int GetBodyLen() const;
|
||||||
|
char* GetPlayloadData() const;
|
||||||
|
int GetPlayloadLen() const;
|
||||||
|
|
||||||
|
MsgHdr* Clone();
|
||||||
|
static void Destroy(MsgHdr* hdr);
|
||||||
|
|
||||||
|
private:
|
||||||
|
list_head entry;
|
||||||
unsigned short sockfrom;
|
unsigned short sockfrom;
|
||||||
unsigned short tag;
|
unsigned short tag;
|
||||||
int seqid;
|
int seqid;
|
||||||
int msgid;
|
int msgid;
|
||||||
long long socket_handle;
|
long long socket_handle;
|
||||||
const char* buf;
|
|
||||||
int buflen;
|
|
||||||
int offset;
|
|
||||||
list_head entry;
|
|
||||||
std::any* user_data = nullptr;
|
|
||||||
|
|
||||||
MsgHdr* Clone();
|
int buflen;
|
||||||
static void Destroy(MsgHdr* hdr);
|
int payload_buflen;
|
||||||
|
std::any* user_data;
|
||||||
|
friend class f8::AppImpl;
|
||||||
};
|
};
|
||||||
|
|
||||||
//普通消息头部
|
//普通消息头部
|
||||||
|
1
third_party/f8/f8/userapp.h
vendored
1
third_party/f8/f8/userapp.h
vendored
@ -8,6 +8,7 @@ namespace f8
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual const std::string GetPkgName() = 0;
|
virtual const std::string GetPkgName() = 0;
|
||||||
|
virtual int GetPreprocessThreadNum() = 0;
|
||||||
virtual void Init() = 0;
|
virtual void Init() = 0;
|
||||||
virtual void UnInit() = 0;
|
virtual void UnInit() = 0;
|
||||||
virtual void Update(int delta_time) = 0;
|
virtual void Update(int delta_time) = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user