This commit is contained in:
azw 2023-04-09 12:23:39 +00:00
parent 306fd4ebfa
commit a3d545e928
2 changed files with 5 additions and 5 deletions

View File

@ -27,7 +27,7 @@ void MasterMgr::Init()
std::string remote_ip = master_svr_conf->At("ip")->AsXValue(); std::string remote_ip = master_svr_conf->At("ip")->AsXValue();
int remote_port = master_svr_conf->At("port")->AsXValue(); int remote_port = master_svr_conf->At("port")->AsXValue();
{ {
Master* conn = new Master(); auto conn = std::make_shared<Master>();
conn->Init(instance_id, remote_ip, remote_port); conn->Init(instance_id, remote_ip, remote_port);
mastersvr_hash_[conn->instance_id] = conn; mastersvr_hash_[conn->instance_id] = conn;
conn->Open(); conn->Open();
@ -60,7 +60,7 @@ void MasterMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr& hdr, const ss::SS_MS_Res
} }
} }
Master* MasterMgr::GetConnById(int instance_id) std::shared_ptr<Master> MasterMgr::GetConnById(int instance_id)
{ {
auto itr = mastersvr_hash_.find(instance_id); auto itr = mastersvr_hash_.find(instance_id);
return itr != mastersvr_hash_.end() ? itr->second : nullptr; return itr != mastersvr_hash_.end() ? itr->second : nullptr;
@ -108,7 +108,7 @@ void MasterMgr::RequestTargetServer(f8::MsgHdr& hdr,
team_uuid = data; team_uuid = data;
code = a8::openssl::Crc32((unsigned char*)data.data(), data.size()); code = a8::openssl::Crc32((unsigned char*)data.data(), data.size());
} }
Master* svr = GetConnById(code % mastersvr_hash_.size() + 1); std::shared_ptr<Master> svr = GetConnById(code % mastersvr_hash_.size() + 1);
if (svr) { if (svr) {
++curr_context_id_; ++curr_context_id_;
#if 0 #if 0

View File

@ -37,12 +37,12 @@ class MasterMgr : public a8::Singleton<MasterMgr>
private: private:
long long GetContextIdBySocket(int socket_handle); long long GetContextIdBySocket(int socket_handle);
f8::MsgHdr* GetHdrByContextId(long long context_id); f8::MsgHdr* GetHdrByContextId(long long context_id);
Master* GetConnById(int instance_id); std::shared_ptr<Master> GetConnById(int instance_id);
private: private:
int target_conn_id_ = 100; int target_conn_id_ = 100;
long long curr_context_id_ = 0; long long curr_context_id_ = 0;
std::map<int, Master*> mastersvr_hash_; std::map<int, std::shared_ptr<Master>> mastersvr_hash_;
std::map<int, long long> pending_socket_hash_; std::map<int, long long> pending_socket_hash_;
std::map<long long, f8::MsgHdr*> pending_request_hash_; std::map<long long, f8::MsgHdr*> pending_request_hash_;