nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
108 lines (107 loc) • 2.86 kB
TypeScript
/**
* @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>;
}>;