chromium/third_party/webrtc_overrides/coalesced_tasks.h

// 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_