QStringList GetHostIPList() { std::vector<std::string> ip_list; GetIPList( AF_INET , &ip_list ); GetIPList( AF_INET6 , &ip_list ); QStringList ip_string_list; TransformStringVectorToQStringList( &ip_list ,&ip_string_list ); return ip_string_list; }
void GetHostIPs( QString &ipv4, QString &ipv6 ) { std::vector<std::string> ip_list; GetIPList( AF_INET , &ip_list ); ipv4 = ip_list.empty() ? QString() : QString::fromStdString(ip_list.front()); ip_list.clear(); GetIPList(AF_INET6, &ip_list); ipv6 = ip_list.empty() ? QString() : QString::fromStdString(ip_list.front()); }
void UIOS::OnReadOSMaxMin() { vector<ULONG> ipList; GetIPList(ipList); float max, min; UCHAR monitorFlag; for(UINT i=0; i<ipList.size(); ++i) { bool rt = GetOSMaxMinPMSyn( 2, monitorFlag, max, min, ipList[i] ); if( rt==true ) { if( monitorFlag==1 ) _grid21.SetCellString( i+1, 2, "1" ); else _grid21.SetCellString( i+1, 2, "0" ); string str; STRING_FORMAT( str, "%0.2f", max ); _grid21.SetCellString( i+1, 3, str ); STRING_FORMAT( str, "%0.2f", min ); _grid21.SetCellString( i+1, 4, str ); } else { _grid21.SetCellString( i+1, 2,"超时" ); } } }
int PhxBinlogSvrLogic::RealGetMasterInfo(phxbinlogsvr::MasterInfo *masterinfo) { vector < string > iplist; int ret = GetIPList(&iplist); if (ret) { return ret; } string local_ip = option_->GetBinLogSvrConfig()->GetEngineIP(); uint32_t port = option_->GetBinLogSvrConfig()->GetBinlogSvrPort(); string ip; uint32_t version = 0; uint32_t expire_time = 0; PhxBinLogClientFactoryInterface *client_factor = PhxBinlogClientPlatformInfo::GetDefault()->GetClientFactory(); std::shared_ptr<PhxBinlogClient> client = client_factor->CreateClient(); ret = client->GetGlobalMaster(iplist, port, &ip, &expire_time, &version); if (ret == 0) { masterinfo->set_ip(ip); masterinfo->set_expire_time(expire_time); masterinfo->set_version(version); } return ret; }
void UIOS::OnStopMonitor() { vector<ULONG> ipList; GetIPList(ipList); UCHAR monitorFlag; float max, min; for(UINT i=0; i<ipList.size(); ++i) { bool rt = GetOSMaxMinPMSyn( 0, monitorFlag, max, min, ipList[i] ); if( rt==false ) _grid21.SetCellString( i+1, 2, "超时" ); else if( monitorFlag==1 ) _grid21.SetCellString( i+1, 2, "1 fail" ); else _grid21.SetCellString( i+1, 2, "0 ok" ); } }
int PhxBinlogSvrLogic::RealGetLastSendGTID(const string &uuid, string *gtid) { vector < string > iplist; int ret = GetIPList(&iplist); if (ret) { return ret; } string local_ip = option_->GetBinLogSvrConfig()->GetBinlogSvrIP(); uint32_t port = option_->GetBinLogSvrConfig()->GetBinlogSvrPort(); string ip; uint32_t version = 0; uint32_t expire_time = 0; PhxBinLogClientFactoryInterface *client_factor = PhxBinlogClientPlatformInfo::GetDefault()->GetClientFactory(); std::shared_ptr<PhxBinlogClient> client = client_factor->CreateClient(); ret = client->GetGlobalMaster(iplist, port, &ip, &expire_time, &version); if (ret) { return ret; } LogVerbose("%s get global ip %s expire time %u", __func__, ip.c_str(), expire_time); if (ip == local_ip) { ret = binlogagent_->FlushData(); if (ret == 0) { ret = binlogagent_->GetLastSendGTID(uuid, gtid); LogVerbose("%s ret = %d get local gtid %s from uuid %s, master ip %s local ip %s", __func__, ret, gtid->c_str(), uuid.c_str(), ip.c_str(), local_ip.c_str()); } } else { std::shared_ptr<PhxBinlogClient> master_client = client_factor->CreateClient(ip, port); ret = master_client->GetLastSendGtid(uuid, gtid); LogVerbose("%s ret = %d get global gtid %s from uuid %s", __func__, ret, gtid->c_str(), uuid.c_str()); } return ret; }