sdg
Version:
pomelo ts
23 lines (22 loc) • 701 B
TypeScript
import Application from '../application';
import { IMsgRspEncode, IReceiveId, IRspData, IScheduleOpts } from '..';
export interface IBufferPushSchedulerOptions {
flushInterval?: number;
}
export default class BufferPushScheduler {
app: Application;
sessions: {
[sid: number]: IMsgRspEncode[];
};
private readonly flushInterval;
private tid;
constructor(app: Application, opts?: IBufferPushSchedulerOptions);
start(): void;
stop(): void;
schedule(reqId: number, route: string, data: IRspData, sids: IReceiveId[], opts: IScheduleOpts): void;
private flush;
private doBroadcast;
private doBatchPush;
private enqueue;
private onClose;
}