// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_WEBRTC_OVERRIDES_COALESCED_TASKS_H_ #define THIRD_PARTY_WEBRTC_OVERRIDES_COALESCED_TASKS_H_ #include <map> #include <memory> #include <optional> #include <set> #include "base/functional/callback.h" #include "base/synchronization/lock.h" #include "base/time/time.h" #include "third_party/abseil-cpp/absl/functional/any_invocable.h" #include "third_party/webrtc/rtc_base/system/rtc_export.h" namespace blink { // A thread-safe class for storing queued tasks until they are scheduled to run. // This is useful for implementing metronome-like task queues where tasks are // coalesced onto metronome ticks but the tasks still need to execute in order. class RTC_EXPORT CoalescedTasks { … }; } // namespace blink #endif // THIRD_PARTY_WEBRTC_OVERRIDES_COALESCED_TASKS_H_