From ff86f230a4c9fabf745cafec23b15400a335145a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Jun 2020 10:39:03 +0800 Subject: [PATCH] 1 --- server/masterserver/app.cc | 10 ++++----- server/masterserver/constant.h | 2 +- server/masterserver/handlermgr.cc | 18 ++++++---------- server/masterserver/svrmgr.cc | 36 +++++++++++++++---------------- server/masterserver/svrmgr.h | 20 ++++++++--------- 5 files changed, 41 insertions(+), 45 deletions(-) diff --git a/server/masterserver/app.cc b/server/masterserver/app.cc index 51f030e..452a169 100755 --- a/server/masterserver/app.cc +++ b/server/masterserver/app.cc @@ -15,7 +15,7 @@ #include "app.h" #include "jsondatamgr.h" #include "handlermgr.h" -#include "gsmgr.h" +#include "svrmgr.h" #include "imsmgr.h" #include "GGListener.h" #include "IMListener.h" @@ -92,7 +92,7 @@ void App::Init(int argc, char* argv[]) uuid.SetMachineId(instance_id); GGListener::Instance()->Init(); IMListener::Instance()->Init(); - GSMgr::Instance()->Init(); + SvrMgr::Instance()->Init(); IMSMgr::Instance()->Init(); CacheMgr::Instance()->Init(); @@ -118,7 +118,7 @@ void App::UnInit() } CacheMgr::Instance()->UnInit(); IMSMgr::Instance()->UnInit(); - GSMgr::Instance()->UnInit(); + SvrMgr::Instance()->UnInit(); IMListener::Instance()->UnInit(); GGListener::Instance()->UnInit(); JsonDataMgr::Instance()->UnInit(); @@ -335,8 +335,8 @@ void App::ProcessGameGateMsg(f8::MsgHdr& hdr) hdr.msgid); if (handler) { switch (handler->handlerid) { - case HID_GSMgr: - ProcessNetMsg(handler, GSMgr::Instance(), hdr); + case HID_SvrMgr: + ProcessNetMsg(handler, SvrMgr::Instance(), hdr); break; } } diff --git a/server/masterserver/constant.h b/server/masterserver/constant.h index 213eb1a..655f757 100755 --- a/server/masterserver/constant.h +++ b/server/masterserver/constant.h @@ -17,7 +17,7 @@ enum InnerMesssage_e //网络处理对象 enum NetHandler_e { - HID_GSMgr, + HID_SvrMgr, HID_IMSMgr, HID_CacheMgr, }; diff --git a/server/masterserver/handlermgr.cc b/server/masterserver/handlermgr.cc index dd99e28..a94f9b9 100644 --- a/server/masterserver/handlermgr.cc +++ b/server/masterserver/handlermgr.cc @@ -6,7 +6,7 @@ #include "GGListener.h" #include "app.h" -#include "gsmgr.h" +#include "svrmgr.h" #include "imsmgr.h" static void _GMOpsSelfChecking(f8::JsonHttpRequest* request) @@ -30,14 +30,10 @@ void HandlerMgr::Init() RegisterNetMsgHandlers(); RegisterGMMsgHandler("Ops@selfChecking", _GMOpsSelfChecking); RegisterGMMsgHandler("Ops@reload", _GMOpsReload); - RegisterGMMsgHandler("GS@report", [] (f8::JsonHttpRequest* request) - { - GSMgr::Instance()->___GSReport(request); - }); - RegisterGMMsgHandler("GS@list", [] (f8::JsonHttpRequest* request) - { - GSMgr::Instance()->___GSList(request); - }); + RegisterGMMsgHandler("SvrMgr@list", [] (f8::JsonHttpRequest* request) + { + SvrMgr::Instance()->___GSList(request); + }); } void HandlerMgr::UnInit() @@ -46,8 +42,8 @@ void HandlerMgr::UnInit() void HandlerMgr::RegisterNetMsgHandlers() { - RegisterNetMsgHandler(&ggmsghandler, &GSMgr::_SS_WSP_RequestTargetServer); - RegisterNetMsgHandler(&ggmsghandler, &GSMgr::_SS_Ping); + RegisterNetMsgHandler(&ggmsghandler, &SvrMgr::_SS_WSP_RequestTargetServer); + RegisterNetMsgHandler(&ggmsghandler, &SvrMgr::_SS_Ping); RegisterNetMsgHandler(&immsghandler, &IMSMgr::_SS_Ping); } diff --git a/server/masterserver/svrmgr.cc b/server/masterserver/svrmgr.cc index 25b6af9..2c4a764 100644 --- a/server/masterserver/svrmgr.cc +++ b/server/masterserver/svrmgr.cc @@ -3,30 +3,30 @@ #include #include -#include "gsmgr.h" +#include "svrmgr.h" #include "app.h" #include "GGListener.h" -void GSMgr::Init() +void SvrMgr::Init() { a8::Timer::Instance()->AddRepeatTimer(1000 * 2, a8::XParams(), [] (const a8::XParams& param) { - GSMgr::Instance()->ClearTimeOutNode(); + SvrMgr::Instance()->ClearTimeOutNode(); }); } -void GSMgr::UnInit() +void SvrMgr::UnInit() { } -void GSMgr::_SS_WSP_RequestTargetServer(f8::MsgHdr& hdr, const ss::SS_WSP_RequestTargetServer& msg) +void SvrMgr::_SS_WSP_RequestTargetServer(f8::MsgHdr& hdr, const ss::SS_WSP_RequestTargetServer& msg) { ss::SS_MS_ResponseTargetServer respmsg; respmsg.set_context_id(msg.context_id()); - GSNode* node = GetNodeByTeamId(msg.team_id()); + SvrNode* node = GetNodeByTeamId(msg.team_id()); if (node) { respmsg.set_host(node->ip); respmsg.set_port(node->port); @@ -44,13 +44,13 @@ void GSMgr::_SS_WSP_RequestTargetServer(f8::MsgHdr& hdr, const ss::SS_WSP_Reques GGListener::Instance()->SendMsg(hdr.socket_handle, respmsg); } -void GSMgr::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg) +void SvrMgr::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg) { ss::SS_Pong pongmsg; GGListener::Instance()->SendMsg(hdr.socket_handle, pongmsg); } -void GSMgr::___GSReport(f8::JsonHttpRequest* request) +void SvrMgr::___GSReport(f8::JsonHttpRequest* request) { std::string ip = request->request.Get("ip"); int port = request->request.Get("port"); @@ -77,7 +77,7 @@ void GSMgr::___GSReport(f8::JsonHttpRequest* request) itr->second.alive_count = alive_count; itr->second.last_active_tick = a8::XGetTickCount(); } else { - GSNode gs; + SvrNode gs; gs.key = key; gs.node_id = node_id; gs.node_idx = App::Instance()->NewUuid(); @@ -98,7 +98,7 @@ void GSMgr::___GSReport(f8::JsonHttpRequest* request) request->resp_xobj->SetVal("errmsg", ""); } -void GSMgr::___GSList(f8::JsonHttpRequest* request) +void SvrMgr::___GSList(f8::JsonHttpRequest* request) { { a8::MutableXObject* node_list = a8::MutableXObject::NewArray(); @@ -125,7 +125,7 @@ void GSMgr::___GSList(f8::JsonHttpRequest* request) { a8::MutableXObject* node_list = a8::MutableXObject::NewArray(); - for (GSNode* gs_node : node_sorted_list_) { + for (SvrNode* gs_node : node_sorted_list_) { a8::MutableXObject* node = a8::MutableXObject::NewObject(); node->SetVal("node_id", gs_node->node_id); node->SetVal("instance_id", gs_node->instance_id); @@ -145,13 +145,13 @@ void GSMgr::___GSList(f8::JsonHttpRequest* request) } } -GSNode* GSMgr::GetNodeByTeamId(const std::string& team_id) +SvrNode* SvrMgr::GetNodeByTeamId(const std::string& team_id) { auto itr = team_hash_.find(team_id); return itr != team_hash_.end() ? itr->second : nullptr; } -GSNode* GSMgr::AllocNode() +SvrNode* SvrMgr::AllocNode() { if (node_sorted_list_.empty()) { return nullptr; @@ -172,10 +172,10 @@ GSNode* GSMgr::AllocNode() return nullptr; } -void GSMgr::RearrangeNode() +void SvrMgr::RearrangeNode() { std::sort(node_sorted_list_.begin(), node_sorted_list_.end(), - [] (const GSNode* a, const GSNode* b) + [] (const SvrNode* a, const SvrNode* b) { if (a->servicing && b->servicing) { if (a->room_num < b->room_num) { @@ -203,15 +203,15 @@ void GSMgr::RearrangeNode() ); } -void GSMgr::ClearTimeOutNode() +void SvrMgr::ClearTimeOutNode() { - std::vector time_out_nodes; + std::vector time_out_nodes; for (auto& pair : node_key_hash_) { if (a8::XGetTickCount() - pair.second.last_active_tick > 1000 * 5) { time_out_nodes.push_back(&pair.second); } } - for (GSNode* node : time_out_nodes) { + for (SvrNode* node : time_out_nodes) { { for (size_t i = 0; i < node_sorted_list_.size(); ++i) { if (node_sorted_list_[i] == node) { diff --git a/server/masterserver/svrmgr.h b/server/masterserver/svrmgr.h index 5ad7e40..aef1c8c 100644 --- a/server/masterserver/svrmgr.h +++ b/server/masterserver/svrmgr.h @@ -2,7 +2,7 @@ #include "ss_proto.pb.h" -struct GSNode +struct SvrNode { std::string key; long long node_idx = 0; @@ -17,14 +17,14 @@ struct GSNode long long last_active_tick = 0; }; -class GSMgr : public a8::Singleton +class SvrMgr : public a8::Singleton { public: - enum { HID = HID_GSMgr }; + enum { HID = HID_SvrMgr }; private: - GSMgr() {}; - friend class a8::Singleton; + SvrMgr() {}; + friend class a8::Singleton; public: @@ -38,14 +38,14 @@ class GSMgr : public a8::Singleton void ___GSList(f8::JsonHttpRequest* request); private: - GSNode* GetNodeByTeamId(const std::string& team_id); - GSNode* AllocNode(); + SvrNode* GetNodeByTeamId(const std::string& team_id); + SvrNode* AllocNode(); void RearrangeNode(); void ClearTimeOutNode(); private: - std::map team_hash_; - std::map node_key_hash_; - std::vector node_sorted_list_; + std::map team_hash_; + std::map node_key_hash_; + std::vector node_sorted_list_; };