UNPKG

nats-micro

Version:

NATS micro compatible extra-lightweight microservice library

55 lines (54 loc) 1.7 kB
import { Broker } from './broker.js'; import { MicroserviceInfo } from './types/index.js'; export type MonitorDiscoveryOptions = { doNotClear: boolean; }; type UserConnectEvent = { id?: string; server: { name: string; host: string; id: string; ver: string; }; client: { start: string; host: string; id: number; acc?: string; user?: string; }; }; export type DiscoveredMicroservice = MicroserviceInfo & { firstFoundAt: Date; lastFoundAt: Date; connection: UserConnectEvent | undefined; }; export type MonitorOptions = { discoveryTimeout: number; }; export declare class Monitor { private readonly broker; private readonly systemBroker?; private readonly options; readonly services: DiscoveredMicroservice[]; private discoveryInterval; private readonly connections; private readonly ee; constructor(broker: Broker, systemBroker?: Broker | undefined, options?: Partial<MonitorOptions>); private discoverConnections; private handleServiceRegistration; private handleAccountConnect; private handleAccountDisconnect; private emit; on(event: 'added' | 'removed', listener: (service: MicroserviceInfo) => void): void; on(event: 'change', listener: (services: MicroserviceInfo[]) => void): void; private getServiceClientId; private getServiceConnectionInfo; private saveService; private removeService; discover(timeout?: number, options?: Partial<MonitorDiscoveryOptions>): Promise<void>; startPeriodicDiscovery(interval: number, discoveryTimeout?: number): void; stopPeriodicDiscovery(): void; } export {};