realm-object-server-enterprise
Version:
Realm Object Server Enterprise
43 lines (42 loc) • 1.43 kB
TypeScript
import { Discovery, Logger, ServiceHandle, ServiceWatch } from "realm-object-server";
import * as consul from "consul";
export declare class ConsulServiceWatch extends ServiceWatch {
private consulClient;
private logger;
private watch;
constructor(consulClient: consul.Consul, logger: Logger, name: string, tags?: string[]);
private startWatch;
}
export interface IConsulDiscoveryConfiguration {
consulHost?: string;
consulPort?: string;
secure?: boolean;
logger?: Logger;
advertiseAddress?: string;
advertisePortMap?: {
[localPort: number]: number;
};
namespace?: string;
checkTtl?: number;
}
export declare class ConsulDiscovery extends Discovery {
consul: consul.Consul;
readonly advertiseAddress: string;
readonly advertisePortMap: {
readonly [localPort: number]: number;
};
private serviceIdMap;
private intervalMap;
private checkTtl;
private logger;
private namespace;
constructor(config?: IConsulDiscoveryConfiguration);
registerService(service: any, address: string, port: number): Promise<void>;
deregisterService(service: any): Promise<void>;
findAll(name: string, tags?: string[]): Promise<ServiceHandle[]>;
watchService(name: string, tags?: string[]): ConsulServiceWatch;
private createConsulServiceHandle;
private findId;
private findOrCreateId;
private namespacedTags;
}