ocean.task

Modules

IScheduler
module 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.

Scheduler
module ocean.task.Scheduler

This module provides the standard task scheduler and a singleton object instance of it. The developer must call the initScheduler function to get the singleton into a usable state.

Scheduler_test
module ocean.task.Scheduler_test

Extended unit tests for the Scheduler module

Task
module ocean.task.Task

Defines the fundamental task abstraction.

TaskPool
module ocean.task.TaskPool

Ready-to-use task pool implementation that should be used in cases where the application has to spawn a large amount of the same type of task. It is possible to mix many different pools as well as an arbitrary amount of stand-alone tasks in the same applications - they will all use the same global ocean.task.Scheduler, including its pool of fibers.

TaskPool_test
module ocean.task.TaskPool_test
ThrottledTaskPool
module ocean.task.ThrottledTaskPool

Adds functionality to suspend/resume registered ISuspendable instances based on the number of active tasks in the task pool.

ThrottledTaskPool_test
module ocean.task.ThrottledTaskPool_test

Example implementation/usage of stream processor which does no I/O and thus can is also used as a unit test

extensions
module ocean.task.extensions

Provides all task extensions at once and tests they work together

util
module ocean.task.util