UNPKG

realm-object-server-enterprise

Version:

Realm Object Server Enterprise

92 lines (91 loc) 2.87 kB
import { RealmSyncServer, RealmSyncServerOperatingMode, IRealmSyncServerConfiguration } from "realm-sync-server"; import { Logger, Discovery, Server, SyncServiceConfig, stats } from "realm-object-server"; import { ConsulDiscovery } from "./ConsulDiscovery"; import * as consul from "consul"; export declare class MasterRecord { master: { id: string; address: string; port: string | number; }; slave: { id: string; complete: boolean; }; } export declare enum ReplicatedSyncBackupMode { Asynchronous = 1, Synchronous = 2 } export interface ReplicatedSyncServiceConfig extends SyncServiceConfig { consul: consul.Consul; id: string; featureToken: string; namespace?: string; backupMode?: ReplicatedSyncBackupMode; } export declare class BaseSyncService { tags: string[]; protected logger: Logger; protected wrapperService: ReplicatedSyncService; protected syncConfig: IRealmSyncServerConfiguration; protected server: RealmSyncServer; constructor(syncConfig: IRealmSyncServerConfiguration); start(wrapperService: ReplicatedSyncService): Promise<void>; stop(): Promise<void>; protected getAddress(): { address: string; port: number; }; protected register(roleTag?: string): Promise<void>; protected deregister(): Promise<void>; } export declare class MasterSyncService extends BaseSyncService { private callbackQueue; private settingSlaveStatus; start(wrapperService: ReplicatedSyncService): Promise<void>; private setSlaveStatus; } export declare class SlaveSyncService extends BaseSyncService { start(wrapperService: ReplicatedSyncService): Promise<void>; } export declare class SpareSyncService extends BaseSyncService { start(wrapperService: ReplicatedSyncService): Promise<void>; } export declare class ReplicatedSyncService { tags: string[]; discovery: ConsulDiscovery; label: string; logger: Logger; namespace: string; backupMode: RealmSyncServerOperatingMode; stats: stats.StatsSink; private consul; private promoter; private masterKey; private slaveKey; private syncConfig; private timeout; private service; private statsdReceiver; private statsdToStatsSink; private statsdSocket; constructor(serviceConfig: ReplicatedSyncServiceConfig); setLogger(logger: Logger): void; start(discovery: Discovery): Promise<void>; startWithServer(server: Server): Promise<void>; stop(): Promise<void>; getAddress(): { address: string; port: number; }; getMasterRecord(): Promise<{ cas: string; record: MasterRecord; }>; setMasterRecord(cas: string, record: MasterRecord): Promise<boolean>; private spare; private slave; private candidate; private master; }