5#ifndef FLUTTER_FML_TASK_SOURCE_H_
6#define FLUTTER_FML_TASK_SOURCE_H_
8#include "flutter/fml/delayed_task.h"
9#include "flutter/fml/task_queue_id.h"
10#include "flutter/fml/task_source_grade.h"
14class MessageLoopTaskQueues;
78 int secondary_pause_requests_ = 0;
void ShutDown()
Drops the pending tasks from both primary and secondary task heaps.
bool IsEmpty() const
Returns true if GetNumPendingTasks is zero.
void RegisterTask(const DelayedTask &task)
void ResumeSecondary()
Resume providing tasks from secondary task heap.
TaskSource(TaskQueueId task_queue_id)
Construts a TaskSource with the given task_queue_id.
void PauseSecondary()
Pause providing tasks from secondary task heap.
void PopTask(TaskSourceGrade grade)
Pops the task heap corresponding to the TaskSourceGrade.
size_t GetNumPendingTasks() const
std::priority_queue< DelayedTask, std::deque< DelayedTask >, std::greater< DelayedTask > > DelayedTaskQueue
TaskQueueId task_queue_id