Flutter Engine
fml::TaskQueueEntry Class Reference

#include <message_loop_task_queues.h>

Public Types

using TaskObservers = std::map< intptr_t, fml::closure >

Public Member Functions

 TaskQueueEntry (TaskQueueId created_for)

Public Attributes

TaskObservers task_observers
std::unique_ptr< TaskSourcetask_source
std::set< TaskQueueIdowner_of
TaskQueueId subsumed_by
TaskQueueId created_for

Detailed Description

A collection of tasks and observers associated with one TaskQueue.

Often a TaskQueue has a one-to-one relationship with a fml::MessageLoop, this isn't the case when TaskQueues are merged via fml::MessageLoopTaskQueues::Merge.

Definition at line 31 of file message_loop_task_queues.h.

Member Typedef Documentation

◆ TaskObservers

using fml::TaskQueueEntry::TaskObservers = std::map<intptr_t, fml::closure>

Definition at line 33 of file message_loop_task_queues.h.

Constructor & Destructor Documentation

◆ TaskQueueEntry()

fml::TaskQueueEntry::TaskQueueEntry ( TaskQueueId  created_for)

Definition at line 43 of file message_loop_task_queues.cc.

References created_for, task_observers, task_source, and wakeable.

44  : subsumed_by(_kUnmerged), created_for(created_for_arg) {
45  wakeable = NULL;
47  task_source = std::make_unique<TaskSource>(created_for);
48 }
std::map< intptr_t, fml::closure > TaskObservers
TaskQueueId created_for
TaskObservers task_observers
std::unique_ptr< TaskSource > task_source
static const TaskQueueId _kUnmerged
Wakeable * wakeable
TaskQueueId subsumed_by

Member Data Documentation

◆ created_for

TaskQueueId fml::TaskQueueEntry::created_for

Definition at line 46 of file message_loop_task_queues.h.

Referenced by TaskQueueEntry().

◆ owner_of

std::set<TaskQueueId> fml::TaskQueueEntry::owner_of

Set of the TaskQueueIds which is owned by this TaskQueue. If the set is empty, this TaskQueue does not own any other TaskQueues.

Definition at line 40 of file message_loop_task_queues.h.

◆ subsumed_by

TaskQueueId fml::TaskQueueEntry::subsumed_by

Identifies the TaskQueue that subsumes this TaskQueue. If it is _kUnmerged it indicates that this TaskQueue is not owned by any other TaskQueue.

Definition at line 44 of file message_loop_task_queues.h.

◆ task_observers

TaskObservers fml::TaskQueueEntry::task_observers

Definition at line 35 of file message_loop_task_queues.h.

Referenced by TaskQueueEntry().

◆ task_source

std::unique_ptr<TaskSource> fml::TaskQueueEntry::task_source

Definition at line 36 of file message_loop_task_queues.h.

Referenced by TaskQueueEntry().

◆ wakeable

Wakeable* fml::TaskQueueEntry::wakeable

The documentation for this class was generated from the following files: