v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::platform::DelayedTaskQueue Class Reference

#include <delayed-task-queue.h>

Collaboration diagram for v8::platform::DelayedTaskQueue:

Classes

struct  MaybeNextTask
 

Public Types

using TimeFunction = double (*)()
 

Public Member Functions

 DelayedTaskQueue (TimeFunction time_function)
 
 ~DelayedTaskQueue ()
 
 DelayedTaskQueue (const DelayedTaskQueue &)=delete
 
DelayedTaskQueueoperator= (const DelayedTaskQueue &)=delete
 
double MonotonicallyIncreasingTime ()
 
void Append (std::unique_ptr< Task > task)
 
void AppendDelayed (std::unique_ptr< Task > task, double delay_in_seconds)
 
MaybeNextTask TryGetNext ()
 
void Terminate ()
 

Private Member Functions

std::unique_ptr< TaskPopTaskFromDelayedQueue (double now)
 

Private Attributes

std::queue< std::unique_ptr< Task > > task_queue_
 
std::multimap< double, std::unique_ptr< Task > > delayed_task_queue_
 
bool terminated_ = false
 
TimeFunction time_function_
 

Detailed Description

Definition at line 27 of file delayed-task-queue.h.

Member Typedef Documentation

◆ TimeFunction

Definition at line 29 of file delayed-task-queue.h.

Constructor & Destructor Documentation

◆ DelayedTaskQueue() [1/2]

v8::platform::DelayedTaskQueue::DelayedTaskQueue ( TimeFunction time_function)
explicit

Definition at line 14 of file delayed-task-queue.cc.

◆ ~DelayedTaskQueue()

v8::platform::DelayedTaskQueue::~DelayedTaskQueue ( )

Definition at line 17 of file delayed-task-queue.cc.

◆ DelayedTaskQueue() [2/2]

v8::platform::DelayedTaskQueue::DelayedTaskQueue ( const DelayedTaskQueue & )
delete

Member Function Documentation

◆ Append()

void v8::platform::DelayedTaskQueue::Append ( std::unique_ptr< Task > task)

Definition at line 26 of file delayed-task-queue.cc.

Here is the caller graph for this function:

◆ AppendDelayed()

void v8::platform::DelayedTaskQueue::AppendDelayed ( std::unique_ptr< Task > task,
double delay_in_seconds )

Definition at line 31 of file delayed-task-queue.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MonotonicallyIncreasingTime()

double v8::platform::DelayedTaskQueue::MonotonicallyIncreasingTime ( )

Definition at line 22 of file delayed-task-queue.cc.

Here is the caller graph for this function:

◆ operator=()

DelayedTaskQueue & v8::platform::DelayedTaskQueue::operator= ( const DelayedTaskQueue & )
delete

◆ PopTaskFromDelayedQueue()

std::unique_ptr< Task > v8::platform::DelayedTaskQueue::PopTaskFromDelayedQueue ( double now)
private

Definition at line 76 of file delayed-task-queue.cc.

Here is the caller graph for this function:

◆ Terminate()

void v8::platform::DelayedTaskQueue::Terminate ( )

Definition at line 87 of file delayed-task-queue.cc.

Here is the caller graph for this function:

◆ TryGetNext()

DelayedTaskQueue::MaybeNextTask v8::platform::DelayedTaskQueue::TryGetNext ( )

Definition at line 41 of file delayed-task-queue.cc.

Here is the call graph for this function:

Member Data Documentation

◆ delayed_task_queue_

std::multimap<double, std::unique_ptr<Task> > v8::platform::DelayedTaskQueue::delayed_task_queue_
private

Definition at line 67 of file delayed-task-queue.h.

◆ task_queue_

std::queue<std::unique_ptr<Task> > v8::platform::DelayedTaskQueue::task_queue_
private

Definition at line 66 of file delayed-task-queue.h.

◆ terminated_

bool v8::platform::DelayedTaskQueue::terminated_ = false
private

Definition at line 68 of file delayed-task-queue.h.

◆ time_function_

TimeFunction v8::platform::DelayedTaskQueue::time_function_
private

Definition at line 69 of file delayed-task-queue.h.


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