polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
53 lines • 1.7 kB
TypeScript
import { EventEmitter } from 'events';
import { StreamService } from '../services/stream.service';
import { ChannelService } from '../services/channel.service';
import { StreamMetrics } from '../types/monitoring';
export interface DataManagerConfig {
refreshInterval: number;
retryAttempts: number;
retryDelay: number;
channels: string[];
enableStreaming: boolean;
bufferSize: number;
}
export interface DataCollectionResult {
success: boolean;
data?: StreamMetrics[];
error?: Error | undefined;
timestamp: Date;
duration: number;
}
export declare class DataManager extends EventEmitter {
private streamService;
private _channelService;
private config;
private isRunning;
private refreshTimer?;
private channelCache;
private lastCollectionTime;
constructor(streamService: StreamService, channelService: ChannelService, config: DataManagerConfig);
start(): void;
stop(): void;
addChannel(channelId: string): void;
removeChannel(channelId: string): void;
getChannelData(channelId: string): StreamMetrics | null;
getAllChannelsData(): StreamMetrics[];
collectData(): Promise<DataCollectionResult>;
private collectChannelData;
private scheduleNextCollection;
setRefreshInterval(intervalMs: number): void;
getConfig(): DataManagerConfig;
getStats(): {
isRunning: boolean;
channelCount: number;
lastCollectionTime: Date;
cacheStats: {
totalEntries: number;
activeChannels: number;
errorChannels: number;
};
};
clearCache(): void;
destroy(): void;
}
//# sourceMappingURL=data-manager.d.ts.map