UNPKG

syslog-portal

Version:
30 lines (29 loc) 1.44 kB
/// <reference types="pouchdb-core" /> /// <reference types="node" /> /// <reference types="node" /> /// <reference types="node" /> import { EventEmitter } from 'events'; import { ILogMessage, ILogMessageListener, IServer } from '../interfaces/server.js'; import { IConfig } from '../models/config.js'; import { Logger } from 'pino'; import { PRI } from '../models/rfc5424.js'; import { IWatchDog } from '../interfaces/watchDog.js'; export declare abstract class BaseServer extends EventEmitter implements IServer { protected readonly _port: number; protected readonly _log: Logger; protected readonly _listeners: Set<ILogMessageListener>; protected readonly _healthMonitor: IWatchDog; protected _entityId?: string; constructor(config: IConfig, logger: Logger, watchDog: IWatchDog); abstract startListening(): Promise<void>; abstract close(): Promise<void>; protected parseMessage(data: Buffer, remoteInfo: any): void; protected extractToken(data: string, parserState: any): string; protected extractTimestamp(data: string, parserState: any): Date; protected extractVersion(data: string, parserState: any): string; protected extractPri(data: string, parserState: any): PRI; protected emitLogMessage(message: ILogMessage): Promise<void>; onLogMessage(listener: ILogMessageListener): void; offLogMessage(listener: ILogMessageListener): void; protected pingMonitor(): void; }