@tempest/core
Version:
The core of the Tempest Stream Library
18 lines (17 loc) • 690 B
TypeScript
import { Source, Sink, Scheduler, Disposable, ScheduledTask } from '../interfaces';
import { MulticastDisposable } from './MulticastDisposable';
export declare class Multicast<T> implements Source<T>, Sink<T> {
source: Source<T>;
_stopId: ScheduledTask;
protected sink: Sink<T>;
protected activeCount: number;
protected disposable: Disposable<T>;
constructor(source: Source<T>);
run(sink: Sink<T>, scheduler: Scheduler): MulticastDisposable<T>;
_dispose(): void;
_add(sink: Sink<T>): number;
_remove(sink: Sink<T>): number;
event(time: number, value: T): void;
end(time: number, value?: T): void;
error(time: number, err: Error): void;
}