import { ConfDTO } from "../../../lib/dto/ConfDTO"; import { PowWorker } from "./PowWorker"; import { FileDAL } from "../../../lib/dal/fileDAL"; import { ProofAsk } from "./blockProver"; export interface SlaveWorker { worker: PowWorker; index: number; online: Promise; nonceBeginning: number; } /** * Cluster controller, handles the messages between the main program and the PoW cluster. */ export declare class Master { private nbCores; private dal?; nbCancels: number; clusterId: number; currentPromise: any | null; slaves: SlaveWorker[]; slavesMap: { [k: number]: SlaveWorker | null; }; conf: any; logger: any; onInfoCallback: any; workersOnline: Promise[]; constructor(nbCores: number | null | undefined, logger: any, dal?: FileDAL | undefined); get nbWorkers(): number; set onInfoMessage(callback: any); onWorkerMessage(workerIndex: number, message: any): void; /***************** * CLUSTER METHODS ****************/ initCluster(): Promise; changeConf(conf: ConfDTO): Promise; private cancelWorkersWork; cancelWork(): Promise; shutDownWorkers(): Promise; proveByWorkers(stuff: ProofAsk): Promise; static defaultLogger(): { info: (message: any) => void; }; }