Exemplo n.º 1
0
bool ConnectionTester::Private::canPing(const QString &host, int *averagePing) const
{
    // TODO: invoke scheduler or tell scheduler something is going on outside of its control
    PingDefinitionPtr pingDef(new PingDefinition(host, 4, 200, 1000, 64, 0, 0, 0, ping::System));
    Ping ping;
    ping.prepare(NULL, pingDef);
    ping.start();
    ping.waitForFinished();

    int resultAvg = ping.averagePingTime();

    if (averagePing)
    {
        *averagePing = resultAvg;
    }

    if (resultAvg > 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}