void PerformTest() override { // Wait until we have an RTT measurement, but no longer than // `kLongTimeoutMs`. This usually takes around 5 seconds, but in rare // cases it can take more than 10 seconds.
EXPECT_THAT(
WaitUntil([&] { return HasRoundTripTimeMeasurement(); }, IsTrue(),
{.timeout = TimeDelta::Millis(kLongTimeoutMs)}),
IsRtcOk());
}
protected: bool HasRoundTripTimeMeasurement() { bool has_rtt = false; // GetStats() can only be called on `task_queue_`, block while we check.
SendTask(task_queue_, [this, &has_rtt]() {
if (receive_stream() &&
receive_stream()->GetStats(true).round_trip_time_measurements > 0) {
has_rtt = true;
}
}); return has_rtt;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.