Flutter Engine
The Flutter Engine
Public Types | Public Member Functions | Public Attributes | List of all members
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

Wakeablewakeable
 
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 32 of file message_loop_task_queues.h.

Member Typedef Documentation

◆ TaskObservers

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

Definition at line 34 of file message_loop_task_queues.h.

Constructor & Destructor Documentation

◆ TaskQueueEntry()

fml::TaskQueueEntry::TaskQueueEntry ( TaskQueueId  created_for)
explicit

Definition at line 37 of file message_loop_task_queues.cc.

38 : subsumed_by(kUnmerged), created_for(created_for_arg) {
39 wakeable = NULL;
41 task_source = std::make_unique<TaskSource>(created_for);
42}
std::unique_ptr< TaskSource > task_source
std::map< intptr_t, fml::closure > TaskObservers
static const TaskQueueId kUnmerged

Member Data Documentation

◆ created_for

TaskQueueId fml::TaskQueueEntry::created_for

Definition at line 47 of file message_loop_task_queues.h.

◆ 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 41 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 45 of file message_loop_task_queues.h.

◆ task_observers

TaskObservers fml::TaskQueueEntry::task_observers

Definition at line 36 of file message_loop_task_queues.h.

◆ task_source

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

Definition at line 37 of file message_loop_task_queues.h.

◆ wakeable

Wakeable* fml::TaskQueueEntry::wakeable

Definition at line 35 of file message_loop_task_queues.h.


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