1
This commit is contained in:
parent
5587c3c85c
commit
8ef28cf556
@ -9,8 +9,6 @@
|
|||||||
|
|
||||||
void JsonDataMgr::Init()
|
void JsonDataMgr::Init()
|
||||||
{
|
{
|
||||||
node_host_mutex_ = new std::mutex();
|
|
||||||
|
|
||||||
if (!f8::IsOnlineEnv()) {
|
if (!f8::IsOnlineEnv()) {
|
||||||
if (f8::IsTestEnv()) {
|
if (f8::IsTestEnv()) {
|
||||||
work_path_ = a8::Format("../../../conf_test/game%d/wsproxy.test",
|
work_path_ = a8::Format("../../../conf_test/game%d/wsproxy.test",
|
||||||
@ -47,26 +45,12 @@ void JsonDataMgr::Init()
|
|||||||
|
|
||||||
wsproxyserver_cluster_json_.ReadFromFile(wsproxyserver_cluster_json_file);
|
wsproxyserver_cluster_json_.ReadFromFile(wsproxyserver_cluster_json_file);
|
||||||
masterserver_cluster_json_.ReadFromFile(masterserver_cluster_json_file);
|
masterserver_cluster_json_.ReadFromFile(masterserver_cluster_json_file);
|
||||||
routing_tables_json_.ReadFromFile(routing_tables_json_file);
|
|
||||||
node_host_mutex_->lock();
|
|
||||||
for (int i = 0; i < routing_tables_json_.Size(); ++i) {
|
|
||||||
auto node_conf = routing_tables_json_.At(i);
|
|
||||||
int node_id = node_conf->At("node_id")->AsXValue();
|
|
||||||
std::string host = node_conf->At("host")->AsXValue();
|
|
||||||
if (node_host_hash_.find(node_id) != node_host_hash_.end()) {
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
node_host_hash_[node_id] = host;
|
|
||||||
}
|
|
||||||
node_host_mutex_->unlock();
|
|
||||||
udp_host_ = GetConf()->At("listen_udp_host")->AsXValue().GetString();
|
udp_host_ = GetConf()->At("listen_udp_host")->AsXValue().GetString();
|
||||||
udp_port_ = GetConf()->At("listen_udp_port")->AsXValue();
|
udp_port_ = GetConf()->At("listen_udp_port")->AsXValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
void JsonDataMgr::UnInit()
|
void JsonDataMgr::UnInit()
|
||||||
{
|
{
|
||||||
delete node_host_mutex_;
|
|
||||||
node_host_mutex_ = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<a8::XObject> JsonDataMgr::GetConf()
|
std::shared_ptr<a8::XObject> JsonDataMgr::GetConf()
|
||||||
@ -78,11 +62,6 @@ std::shared_ptr<a8::XObject> JsonDataMgr::GetConf()
|
|||||||
return wsproxyserver_cluster_json_[App::Instance()->GetInstanceId() - 1];
|
return wsproxyserver_cluster_json_[App::Instance()->GetInstanceId() - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<a8::XObject> JsonDataMgr::GetMasterServerClusterConf()
|
|
||||||
{
|
|
||||||
return std::make_shared<a8::XObject>(masterserver_cluster_json_);
|
|
||||||
}
|
|
||||||
|
|
||||||
void JsonDataMgr::TraverseMaster(std::function<void (int, std::string, int)> cb)
|
void JsonDataMgr::TraverseMaster(std::function<void (int, std::string, int)> cb)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < masterserver_cluster_json_.Size(); ++i) {
|
for (int i = 0; i < masterserver_cluster_json_.Size(); ++i) {
|
||||||
|
@ -12,19 +12,15 @@ class JsonDataMgr : public a8::Singleton<JsonDataMgr>
|
|||||||
void Init();
|
void Init();
|
||||||
void UnInit();
|
void UnInit();
|
||||||
|
|
||||||
std::shared_ptr<a8::XObject> GetConf();
|
|
||||||
std::shared_ptr<a8::XObject> GetMasterServerClusterConf();
|
|
||||||
void TraverseMaster(std::function<void (int, std::string, int)> cb);
|
|
||||||
std::string GetUdpHost() { return udp_host_; }
|
std::string GetUdpHost() { return udp_host_; }
|
||||||
int GetUdpPort() { return udp_port_; }
|
int GetUdpPort() { return udp_port_; }
|
||||||
|
std::shared_ptr<a8::XObject> GetConf();
|
||||||
|
void TraverseMaster(std::function<void (int, std::string, int)> cb);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string work_path_ = "../config";
|
std::string work_path_ = "../config";
|
||||||
a8::XObject wsproxyserver_cluster_json_;
|
a8::XObject wsproxyserver_cluster_json_;
|
||||||
a8::XObject masterserver_cluster_json_;
|
a8::XObject masterserver_cluster_json_;
|
||||||
std::mutex* node_host_mutex_ = nullptr;
|
|
||||||
a8::XObject routing_tables_json_;
|
|
||||||
std::map<int, std::string> node_host_hash_;
|
|
||||||
std::string udp_host_;
|
std::string udp_host_;
|
||||||
int udp_port_ = 0;
|
int udp_port_ = 0;
|
||||||
};
|
};
|
||||||
|
@ -35,19 +35,15 @@ void MasterMgr::Init()
|
|||||||
{
|
{
|
||||||
curr_context_id_ = a8::MakeInt64(0, time(nullptr) + 1000 * 60 * 10);
|
curr_context_id_ = a8::MakeInt64(0, time(nullptr) + 1000 * 60 * 10);
|
||||||
|
|
||||||
auto master_svr_cluster_conf = JsonDataMgr::Instance()->GetMasterServerClusterConf();
|
JsonDataMgr::Instance()->TraverseMaster
|
||||||
for (int i = 0; i < master_svr_cluster_conf->Size(); ++i) {
|
(
|
||||||
auto master_svr_conf = master_svr_cluster_conf->At(i);
|
[this] (int instance_id, std::string remote_ip, int remote_port)
|
||||||
int instance_id = master_svr_conf->At("instance_id")->AsXValue();
|
{
|
||||||
std::string remote_ip = master_svr_conf->At("ip")->AsXValue();
|
auto conn = std::make_shared<Master>();
|
||||||
int remote_port = master_svr_conf->At("port")->AsXValue();
|
conn->Init(instance_id, remote_ip, remote_port);
|
||||||
{
|
mastersvr_hash_[conn->instance_id] = conn;
|
||||||
auto conn = std::make_shared<Master>();
|
conn->Open();
|
||||||
conn->Init(instance_id, remote_ip, remote_port);
|
});
|
||||||
mastersvr_hash_[conn->instance_id] = conn;
|
|
||||||
conn->Open();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MasterMgr::UnInit()
|
void MasterMgr::UnInit()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user