fpromise::subtle::scheduler

Summary

Constructors and Destructors

scheduler()
scheduler(const scheduler &)
scheduler(scheduler &&)
~scheduler()

Public types

ref_count_type using
uint32_t
task_queue using
std::queue< pending_task >

Public functions

duplicate_ticket(suspended_task::ticket ticket)
void
finalize_ticket(suspended_task::ticket ticket, pending_task *task)
void
has_outstanding_tickets() const
bool
has_runnable_tasks() const
bool
has_suspended_tasks() const
bool
obtain_ticket(ref_count_type initial_refs)
suspended_task::ticket
operator=(const scheduler &)=delete
operator=(scheduler &&)=delete
release_ticket(suspended_task::ticket ticket)
resume_task_with_ticket(suspended_task::ticket ticket)
bool
schedule_task(pending_task task)
void
take_all_tasks(task_queue *tasks)
void
take_runnable_tasks(task_queue *tasks)
void

Public types

ref_count_type

uint32_t ref_count_type

task_queue

std::queue< pending_task > task_queue

Public functions

duplicate_ticket

void duplicate_ticket(
  suspended_task::ticket ticket
)

finalize_ticket

void finalize_ticket(
  suspended_task::ticket ticket,
  pending_task *task
)

has_outstanding_tickets

bool has_outstanding_tickets() const 

has_runnable_tasks

bool has_runnable_tasks() const 

has_suspended_tasks

bool has_suspended_tasks() const 

obtain_ticket

suspended_task::ticket obtain_ticket(
  ref_count_type initial_refs
)

operator=

scheduler & operator=(
  const scheduler &
)=delete

operator=

scheduler & operator=(
  scheduler &&
)=delete

release_ticket

pending_task release_ticket(
  suspended_task::ticket ticket
)

resume_task_with_ticket

bool resume_task_with_ticket(
  suspended_task::ticket ticket
)

schedule_task

void schedule_task(
  pending_task task
)

scheduler

 scheduler()

scheduler

 scheduler(
  const scheduler &
)=delete

scheduler

 scheduler(
  scheduler &&
)=delete

take_all_tasks

void take_all_tasks(
  task_queue *tasks
)

take_runnable_tasks

void take_runnable_tasks(
  task_queue *tasks
)

~scheduler

 ~scheduler()