UNPKG

nope-js-node

Version:

NoPE Runtime for Nodejs. For Browser-Support please use nope-browser

108 lines (107 loc) 2.86 kB
/** * @author Martin Karkowski * @email m.karkowski@zema.de */ import { INopeDispatcher } from "../../types/nope"; /** * Generate and registers a ping service. * * @author M.Karkowski * @export * @param {INopeDispatcher} dispatcher * @return {*} The function to ping all dispatchers. */ export declare function generatePingServices(dispatcher: INopeDispatcher): Promise<{ determinePing: (target: string) => Promise<{ requestId: string; dispatcherId: string; timestamp: number; isMaster: boolean; ping: number; }>; pingAll: () => Promise<{ pings: { requestId: string; dispatcherId: string; timestamp: number; isMaster: boolean; ping: number; }[]; avg: number; max: { max: number; index: number; }; min: { min: number; index: number; }; }>; }>; /** * Helper to generate the Accessors to ping dispatchers or ping all * systems * * @author M.Karkowski * @export * @param {INopeDispatcher} dispatcher The Dispatcher, used to perform the calls. * @return {*} */ export declare function generatePingAccessors(dispatcher: INopeDispatcher): Promise<{ determinePing: (target: string) => Promise<{ requestId: string; dispatcherId: string; timestamp: number; isMaster: boolean; ping: number; }>; pingAll: () => Promise<{ pings: { requestId: string; dispatcherId: string; timestamp: number; isMaster: boolean; ping: number; }[]; avg: number; max: { max: number; index: number; }; min: { min: number; index: number; }; }>; }>; /** * Registers a sync service, which will syncronize the time * * @author M.Karkowski * @export * @param {INopeDispatcher} dispatcher * @return {*} The Sync-Method to call */ export declare function enableTimeSyncing(dispatcher: INopeDispatcher): Promise<{ manualSyncTime: () => Promise<void>; }>; /** * Helper, that lets enables waiting for a required dispatcher. * * @author M.Karkowski * @export * @param {INopeDispatcher} dispatcher * @return {*} */ export declare function waitForDispatcher(dispatcher: INopeDispatcher, name: string): Promise<{}>; /** * A Helper to create a Service to manually define a master. * * @author M.Karkowski * @export * @param {INopeDispatcher} dispatcher The Dispatcher to use. * @return {*} */ export declare function generateDefineMaster(dispatcher: INopeDispatcher): Promise<{ setMaster: () => Promise<void>; }>;