From 1865fa0ce7782a4224185fc5632280ba1d87251d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 4 Mar 2019 17:12:50 +0800 Subject: [PATCH] add MsgQueue --- server/dbproxy/app.cc | 21 +++++++++++++++++---- server/dbproxy/handlermgr.cc | 7 ++++++- server/dbproxy/handlermgr.h | 2 ++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/server/dbproxy/app.cc b/server/dbproxy/app.cc index ed9ebae..f631e41 100644 --- a/server/dbproxy/app.cc +++ b/server/dbproxy/app.cc @@ -11,6 +11,8 @@ #include #include "framework/cpp/netmsghandler.h" +#include "framework/cpp/msgqueue.h" +#include "framework/cpp/dbpool.h" #include "app.h" #include "GSListener.h" @@ -18,7 +20,6 @@ #include "handlermgr.h" #include "ss_msgid.pb.h" #include "ss_proto.pb.h" -#include "dbpool.h" struct MsgNode { @@ -86,8 +87,10 @@ void App::Init(int argc, char* argv[]) InitLog(); HandlerMgr::Instance()->Init(); a8::Timer::Instance()->Init(); + f8::MsgQueue::Instance()->Init(); JsonDataMgr::Instance()->Init(); - DBPool::Instance()->Init(); + f8::DBPool::Instance()->Init(); + f8::DBPool::Instance()->SetThreadNum(10); GSListener::Instance()->Init(); uuid.SetMachineId(instance_id); @@ -112,8 +115,9 @@ void App::UnInit() return; } GSListener::Instance()->UnInit(); - DBPool::Instance()->UnInit(); + f8::DBPool::Instance()->UnInit(); JsonDataMgr::Instance()->UnInit(); + f8::MsgQueue::Instance()->UnInit(); a8::Timer::Instance()->UnInit(); HandlerMgr::Instance()->UnInit(); UnInitLog(); @@ -320,7 +324,7 @@ void App::ProcessGSMsg(f8::MsgHdr& hdr) break; case HID_DBPool: { - ProcessNetMsg(handler, DBPool::Instance(), hdr); + // ProcessNetMsg(handler, DBPool::Instance(), hdr); } break; } @@ -339,6 +343,15 @@ void App::ProcessIMMsg() while (im_work_node_) { IMMsgNode *pdelnode = im_work_node_; switch (im_work_node_->msgid) { + case f8::IM_SysMsgQueue: + { + const a8::XParams* param = (const a8::XParams*)pdelnode->params.param1.GetUserData(); + f8::MsgQueue::Instance()->ProcessMsg(pdelnode->params.sender.GetInt(), + *param + ); + delete param; + } + break; case IM_ExecGM: { HandlerMgr::Instance()->ProcGMMsg(pdelnode->params.param3, diff --git a/server/dbproxy/handlermgr.cc b/server/dbproxy/handlermgr.cc index 4f60b68..50e1920 100644 --- a/server/dbproxy/handlermgr.cc +++ b/server/dbproxy/handlermgr.cc @@ -28,7 +28,7 @@ void HandlerMgr::UnInit() void HandlerMgr::RegisterNetMsgHandlers() { RegisterNetMsgHandler(&gsmsghandler, &HandlerMgr::_SS_Ping); - RegisterNetMsgHandler(&gsmsghandler, &DBPool::_SS_GSM_ExecAsyncSql); + RegisterNetMsgHandler(&gsmsghandler, &HandlerMgr::_SS_GSM_ExecAsyncSql); } void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle, @@ -72,6 +72,11 @@ void HandlerMgr::RegisterGMMsgHandler(const std::string& msgname, gmhandlers_[msgname] = handler; } +void HandlerMgr::_SS_GSM_ExecAsyncSql(f8::MsgHdr& hdr, const ss::SS_GSM_ExecAsyncSql& msg) +{ + +} + void HandlerMgr::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg) { ss::SS_Pong pongmsg; diff --git a/server/dbproxy/handlermgr.h b/server/dbproxy/handlermgr.h index 7e7c8ca..c43943c 100644 --- a/server/dbproxy/handlermgr.h +++ b/server/dbproxy/handlermgr.h @@ -12,6 +12,7 @@ namespace a8 namespace ss { class SS_Ping; + class SS_GSM_ExecAsyncSql; } class HandlerMgr : public a8::Singleton @@ -35,6 +36,7 @@ class HandlerMgr : public a8::Singleton const std::string& url, const std::string& quyerstr); void _SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg); + void _SS_GSM_ExecAsyncSql(f8::MsgHdr& hdr, const ss::SS_GSM_ExecAsyncSql& msg); private: void RegisterNetMsgHandlers();