Scheduler
Constructors
ControlledScheduler
Added in v2.0.0
Source
Signature
declare class ControlledScheduler implements Scheduler { constructor(); deferred: boolean; tasks: PriorityBuckets<Task>; scheduleTask(task: Task, priority: number, fiber?: RuntimeFiber<unknown, unknown>): void; shouldYield(fiber: RuntimeFiber<unknown, unknown>): number | false; step(): void;}Signature
declare function make(scheduleTask: (task: Task, priority: number, fiber?: RuntimeFiber<unknown, unknown>) => void, shouldYield: (fiber: RuntimeFiber<unknown, unknown>) => number | false): SchedulermakeBatched
Added in v2.0.0
Source
Signature
declare function makeBatched(callback: (runBatch: () => void) => void, shouldYield: (fiber: RuntimeFiber<unknown, unknown>) => number | false): SchedulermakeMatrix
Added in v2.0.0
Source
Signature
declare function makeMatrix(...record: Array<[number, Scheduler]>): SchedulerMixedScheduler
Added in v2.0.0
Source
Signature
declare class MixedScheduler implements Scheduler { constructor(maxNextTickBeforeTimer: number); readonly maxNextTickBeforeTimer: number; scheduleTask(task: Task, priority: number, fiber?: RuntimeFiber<unknown, unknown>): void; shouldYield(fiber: RuntimeFiber<unknown, unknown>): number | false;}SyncScheduler
Added in v2.0.0
Source
Signature
declare class SyncScheduler implements Scheduler { constructor(); deferred: boolean; tasks: PriorityBuckets<Task>; flush(): void; scheduleTask(task: Task, priority: number, fiber?: RuntimeFiber<unknown, unknown>): void; shouldYield(fiber: RuntimeFiber<unknown, unknown>): number | false;}Signature
declare function timer(ms: number, shouldYield: (fiber: RuntimeFiber<unknown, unknown>) => number | false): SchedulertimerBatched
Added in v2.0.0
Source
Signature
declare function timerBatched(ms: number, shouldYield: (fiber: RuntimeFiber<unknown, unknown>) => number | false): SchedulerModels
Signature
interface Scheduler { scheduleTask(task: Task, priority: number, fiber?: RuntimeFiber<unknown, unknown>): void; shouldYield(fiber: RuntimeFiber<unknown, unknown>): number | false;}SchedulerRunner
Added in v3.20.0
Source
Signature
declare class SchedulerRunner { constructor(scheduleDrain: (depth: number, drain: (depth: number) => void) => void); running: boolean; readonly scheduleDrain: (depth: number, drain: (depth: number) => void) => void; tasks: PriorityBuckets<Task>; scheduleTask(task: Task, priority: number): void; static cached(scheduleDrain: (depth: number, drain: (depth: number) => void) => void): (fiber?: RuntimeFiber<unknown, unknown>) => SchedulerRunner;}Signature
type Task = () => voidSchedulers
defaultScheduler
Added in v2.0.0
Source
Signature
declare const defaultScheduler: SchedulerUtilities
defaultShouldYield
Added in v2.0.0
Source
Signature
declare const defaultShouldYield: Scheduler["shouldYield"]Utils
PriorityBuckets
Added in v2.0.0
Source
Signature
declare class PriorityBuckets<in out T = Task> { constructor<in out T = Task>(); buckets: Array<[number, Array<T>]>; scheduleTask(task: T, priority: number): void;}