UNPKG

@openhps/core

Version:

Open Hybrid Positioning System - Core component

30 lines (26 loc) 839 B
import { DataFrame } from '../../data'; import { TimeUnit } from '../../utils'; import { ProcessingNode } from '../ProcessingNode'; /** * Frame delay node to delay pushing of frames. * @category Flow shape */ export class FrameDelayNode<InOut extends DataFrame> extends ProcessingNode<InOut, InOut> { private _timeout: number; private _timeoutUnit: TimeUnit; constructor(timeout: number, timeoutUnit: TimeUnit) { super(); this._timeout = timeout; this._timeoutUnit = timeoutUnit; } public process(frame: InOut): Promise<InOut> { return new Promise((resolve) => { setTimeout( () => { resolve(frame); }, this._timeoutUnit.convert(this._timeout, TimeUnit.MILLISECOND), ); }); } }