@tempest/core
Version:
The core of the Tempest Stream Library
24 lines (23 loc) • 952 B
TypeScript
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);
}