/* * Copyright (c) 2022 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree.
*/
// The Metronome posts OnTick() calls requested with RequestCallOnNextTick. // The API is designed to be fully used from a single task queue. Scheduled // callbacks are executed on the same sequence as they were requested on. There // are no features implemented for cancellation. When that's needed, use e.g. // ScopedTaskSafety from the client. // // The metronome concept is still under experimentation, and may not be availble // in all platforms or applications. See https://crbug.com/1253787 for more // details. // // Metronome implementations must be thread-compatible. class RTC_EXPORT Metronome { public: virtual ~Metronome() = default;
// Requests a call to `callback` on the next tick. Scheduled callbacks are // executed on the same sequence as they were requested on. There are no // features for cancellation. When that's needed, use e.g. ScopedTaskSafety // from the client. virtualvoid RequestCallOnNextTick(
absl::AnyInvocable<void() &&> /* callback */) {}
// Returns the current tick period of the metronome. virtual TimeDelta TickPeriod() const = 0;
};
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.