From 15008a373aadbf9f2ba16a7ba3fa3f39e626bea7 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 27 Sep 2020 18:47:32 +0800 Subject: [PATCH] 1 --- server/imserver/handlermgr.cc | 4 ++++ server/imserver/playermgr.cc | 10 ++++++++++ server/imserver/playermgr.h | 6 ++++++ server/imserver/synchelper.cc | 18 ++++++++++++++++++ server/imserver/synchelper.h | 4 ++++ server/tools/protobuild/ss_proto.proto | 7 ------- 6 files changed, 42 insertions(+), 7 deletions(-) diff --git a/server/imserver/handlermgr.cc b/server/imserver/handlermgr.cc index 822e149..5731ca4 100644 --- a/server/imserver/handlermgr.cc +++ b/server/imserver/handlermgr.cc @@ -42,6 +42,8 @@ void HandlerMgr::RegisterNetMsgHandlers() RegisterNetMsgHandler(&immsghandler, &SyncHelper::_SS_IM_FriendAgreeResponse); RegisterNetMsgHandler(&immsghandler, &SyncHelper::_SS_IM_FriendDeleteResponse); + RegisterNetMsgHandler(&immsghandler, &SyncHelper::_SS_IM_GuildMemberQuitResponse); + RegisterNetMsgHandler(&immsghandler, &SyncHelper::_SS_IM_GuildMemberUpdateResponse); RegisterNetMsgHandler(&immsghandler, &PlayerMgr::_SS_IM_PushUserOnlineState); RegisterNetMsgHandler(&immsghandler, &PlayerMgr::_SS_IM_RandomUsersResponse); @@ -62,6 +64,8 @@ void HandlerMgr::RegisterNetMsgHandlers() RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_OnUserOffline); RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_QueryUserOnlineState); RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_RandomUsersRequest); + RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberQuitRequest); + RegisterNetMsgHandler(&imcmsghandler, &PlayerMgr::_SS_IM_GuildMemberUpdateRequest); RegisterNetMsgHandler(&wsmsghandler, &WSListener::_SS_Ping); diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index 44c4905..acd3f6a 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -202,6 +202,16 @@ void PlayerMgr::_SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_Rand AsyncTaskMgr::Instance()->_SS_IM_RandomUsersResponse(hdr, msg); } +void PlayerMgr::_SS_IM_GuildMemberQuitRequest(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberQuitRequest& msg) +{ + +} + +void PlayerMgr::_SS_IM_GuildMemberUpdateRequest(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberUpdateRequest& msg) +{ + +} + void PlayerMgr::_SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg) { auto itr = watch_players_.find(msg.user_info().base_data().account_id()); diff --git a/server/imserver/playermgr.h b/server/imserver/playermgr.h index d51e4e9..6531d6a 100644 --- a/server/imserver/playermgr.h +++ b/server/imserver/playermgr.h @@ -22,6 +22,10 @@ namespace ss class SS_IM_PushUserOnlineState; class SS_IM_RandomUsersRequest; class SS_IM_RandomUsersResponse; + class SS_IM_GuildMemberQuitRequest; + class SS_IM_GuildMemberQuitResponse; + class SS_IM_GuildMemberUpdateRequest; + class SS_IM_GuildMemberUpdateResponse; } class Player; @@ -51,6 +55,8 @@ class PlayerMgr : public a8::Singleton void _SS_IM_PushUserOnlineState(f8::MsgHdr& hdr, const ss::SS_IM_PushUserOnlineState& msg); void _SS_IM_RandomUsersRequest(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersRequest& msg); void _SS_IM_RandomUsersResponse(f8::MsgHdr& hdr, const ss::SS_IM_RandomUsersResponse& msg); + void _SS_IM_GuildMemberQuitRequest(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberQuitRequest& msg); + void _SS_IM_GuildMemberUpdateRequest(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberUpdateRequest& msg); void _SS_IM_UpdateUserInfo(f8::MsgHdr& hdr, const ss::SS_IM_UpdateUserInfo& msg); diff --git a/server/imserver/synchelper.cc b/server/imserver/synchelper.cc index 45564c6..53ceaf7 100644 --- a/server/imserver/synchelper.cc +++ b/server/imserver/synchelper.cc @@ -188,6 +188,24 @@ void SyncHelper::_SS_IM_FriendDeleteResponse(f8::MsgHdr& hdr, const ss::SS_IM_Fr } } +void SyncHelper::_SS_IM_GuildMemberQuitResponse(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberQuitResponse& msg) +{ + auto itr = pending_request_hash_.find(msg.seqid()); + if (itr != pending_request_hash_.end()) { + a8::Timer::Instance()->DeleteTimer(itr->second); + RemovePendingRequest(msg.seqid()); + } +} + +void SyncHelper::_SS_IM_GuildMemberUpdateResponse(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberUpdateResponse& msg) +{ + auto itr = pending_request_hash_.find(msg.seqid()); + if (itr != pending_request_hash_.end()) { + a8::Timer::Instance()->DeleteTimer(itr->second); + RemovePendingRequest(msg.seqid()); + } +} + void SyncHelper::RemovePendingRequest(long long seqid) { pending_request_hash_.erase(seqid); diff --git a/server/imserver/synchelper.h b/server/imserver/synchelper.h index 51fc7fc..aca25e2 100644 --- a/server/imserver/synchelper.h +++ b/server/imserver/synchelper.h @@ -9,7 +9,9 @@ namespace ss class SS_IM_FriendDeleteRequest; class SS_IM_FriendDeleteResponse; class SS_IM_GuildMemberQuitRequest; + class SS_IM_GuildMemberQuitResponse; class SS_IM_GuildMemberUpdateRequest; + class SS_IM_GuildMemberUpdateResponse; } class Guild; @@ -45,6 +47,8 @@ public: void _SS_IM_FriendAgreeResponse(f8::MsgHdr& hdr, const ss::SS_IM_FriendAgreeResponse& msg); void _SS_IM_FriendDeleteResponse(f8::MsgHdr& hdr, const ss::SS_IM_FriendDeleteResponse& msg); + void _SS_IM_GuildMemberQuitResponse(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberQuitResponse& msg); + void _SS_IM_GuildMemberUpdateResponse(f8::MsgHdr& hdr, const ss::SS_IM_GuildMemberUpdateResponse& msg); private: diff --git a/server/tools/protobuild/ss_proto.proto b/server/tools/protobuild/ss_proto.proto index ea78924..16b88df 100755 --- a/server/tools/protobuild/ss_proto.proto +++ b/server/tools/protobuild/ss_proto.proto @@ -337,10 +337,6 @@ message SS_IM_GuildMemberQuitRequest message SS_IM_GuildMemberQuitResponse { optional int64 seqid = 1; - optional int64 guild_id = 2; - optional string sender_id = 3; - optional string target_id = 4; - optional int32 reason = 5; } message SS_IM_GuildMemberUpdateRequest @@ -355,7 +351,4 @@ message SS_IM_GuildMemberUpdateRequest message SS_IM_GuildMemberUpdateResponse { optional int64 seqid = 1; - optional int64 guild_id = 2; - optional string target_id = 4; - optional int32 reason = 5; }