ocean.task.IScheduler

This module defines public API for ocean.task.Scheduler together with all involved data types. It is intended to be used in other modules instead of direct ocean.task.Scheduler import to untangle complex dependency chain the latter brings.

Members

Classes

TaskQueueFullException
class TaskQueueFullException

Exception thrown when scheduled task queue overflows

Functions

dropScheduler
void dropScheduler()

Occasionally useful in tests to drop reference to already initialized scheduler and test some code as if scheduler is not present.

isSchedulerUsed
bool isSchedulerUsed()
theScheduler
IScheduler theScheduler()

Singleton scheduler instance, same as ocean.task.Scheduler.theScheduler but returns that object as IScheduler interface.

Interfaces

IScheduler
interface IScheduler

Scheduler handles concurrent execution of all application tasks, assigning them to limited amount of worker fibers. Scheduler functionality can be split into 3 major blocks:

Variables

_scheduler
IScheduler _scheduler;

Initialized externally from ocean.task.Scheduler to reference the same singleton object.

Meta

License

Boost Software License Version 1.0. See LICENSE_BOOST.txt for details. Alternatively, this file may be distributed under the terms of the Tango 3-Clause BSD License (see LICENSE_BSD.txt for details).