UNPKG

@tempest/core

Version:

The core of the Tempest Stream Library

24 lines (23 loc) 952 B
import { Scheduler, Timer, Timeline, Task } from '../interfaces'; import { Asap } from './ClockTimer'; import { PredeterminedTask } from './PredeterminedTask'; export declare class TaskScheduler implements Scheduler { private timer; private timeline; private _timer; private _nextArrival; private _runReadyTasksBound; constructor(timer: Timer<Asap>, timeline: Timeline<PredeterminedTask>); now(): number; asap(task: Task): PredeterminedTask; delay(delay: number, task: Task): PredeterminedTask; periodic(period: number, task: Task): PredeterminedTask; schedule(delay: number, period: number, task: Task): PredeterminedTask; cancel(task: PredeterminedTask): void; cancelAll(f: (task: PredeterminedTask) => boolean): void; private _reschedule(); private _unschedule(); private _scheduleNextRun(time); private _scheduleNextArrival(nextArrival, time); private _runReadyTasks(time); }