#include "test/time_controller/external_time_controller.h"
#include <algorithm>
#include <map>
#include <memory>
#include <utility>
#include "absl/functional/any_invocable.h"
#include "api/task_queue/task_queue_base.h"
#include "api/task_queue/task_queue_factory.h"
#include "api/units/time_delta.h"
#include "api/units/timestamp.h"
#include "rtc_base/checks.h"
#include "rtc_base/synchronization/yield_policy.h"
#include "test/time_controller/simulated_time_controller.h"
namespace webrtc {
class ExternalTimeController::TaskQueueWrapper : public TaskQueueBase { … };
ExternalTimeController::ExternalTimeController(ControlledAlarmClock* alarm)
: … { … }
Clock* ExternalTimeController::GetClock() { … }
TaskQueueFactory* ExternalTimeController::GetTaskQueueFactory() { … }
void ExternalTimeController::AdvanceTime(TimeDelta duration) { … }
std::unique_ptr<rtc::Thread> ExternalTimeController::CreateThread(
const std::string& name,
std::unique_ptr<rtc::SocketServer> socket_server) { … }
rtc::Thread* ExternalTimeController::GetMainThread() { … }
std::unique_ptr<TaskQueueBase, TaskQueueDeleter>
ExternalTimeController::CreateTaskQueue(
absl::string_view name,
TaskQueueFactory::Priority priority) const { … }
void ExternalTimeController::Run() { … }
void ExternalTimeController::UpdateTime() { … }
void ExternalTimeController::ScheduleNext() { … }
}