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());
}
Exemple #3
0
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;
}
Exemple #5
0
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;
}