nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
61 lines (60 loc) • 1.89 kB
TypeScript
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @desc [description]
*/
import { INopeDispatcher } from "../../types/nope";
import { enableTimeSyncing, generateDefineMaster, generatePingServices, waitForDispatcher } from "./connectivy";
import { enablingSyncingData } from "./data";
export { generateDefineMaster, generatePingServices, enableTimeSyncing as generateSyncServices, enablingSyncingData, waitForDispatcher, };
/**
* Helper to define simpler names for the Services
*/
export declare const SERVICES_NAME: {
defineMaster: typeof generateDefineMaster;
pingService: typeof generatePingServices;
timeSyncingService: typeof enableTimeSyncing;
syncingDataService: typeof enablingSyncingData;
};
/**
* Helper, which will enable all BaseServices
*
* @author M.Karkowski
* @export
* @param {INopeDispatcher} dispatcher The Dispatcher to use.
* @param {{
* services?: Array<keyof typeof SERVICES_NAME>;
* }} [opts]
* @return The provided Functions.
*/
export declare function addAllBaseServices(dispatcher: INopeDispatcher, opts?: {
services?: Array<keyof typeof SERVICES_NAME>;
}): Promise<{
manualSyncTime?: () => Promise<void>;
determinePing?: (target: string) => Promise<{
requestId: string;
dispatcherId: string;
timestamp: number;
isMaster: boolean;
ping: number;
}>;
pingAll?: () => Promise<{
pings: Promise<{
requestId: string;
dispatcherId: string;
timestamp: number;
isMaster: boolean;
ping: number;
}>[];
avg: number;
max: {
max: number;
index: number;
};
min: {
min: number;
index: number;
};
}>;
setMaster?: () => Promise<void>;
}>;