1
0
forked from circlecloud/tera

refactor: split pow cacl process

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-07-14 18:27:58 +08:00
parent 375134fdc3
commit a11f96e775
7 changed files with 43 additions and 24 deletions

View File

@@ -222,7 +222,7 @@ function StartAllProcess(bClose) {
var GlobalRunID = 0;
var GlobalRunMap = {};
function StartChildProcess(Item) {
function StartChildProcess(Item: TeraProcess) {
let ITEM = Item;
ITEM.idInterval = setInterval(function() {
var Delta0 = Date.now() - ITEM.LastAlive;
@@ -670,8 +670,9 @@ function RunOnce() {
};
var glPortDebug = 49800;
function Fork(Path, ArrArgs?) {
const child_process = require('child_process');
import { fork } from 'child_process'
function Fork(Path, ArrArgs?): TeraChildProcess {
ArrArgs = ArrArgs || [];
if (global.LOCAL_RUN)
ArrArgs.push("LOCALRUN");
@@ -690,8 +691,8 @@ function Fork(Path, ArrArgs?) {
ArrArgs.push("DEV_MODE");
glPortDebug++;
var execArgv = [];
var Worker = child_process.fork(Path, ArrArgs, { execArgv: execArgv });
return Worker;
var Worker = fork(Path, ArrArgs, { execArgv: execArgv });
return Worker as any;
};
global.SpeedSignLib = 0;
global.TestSignLib = TestSignLib;

View File

@@ -12,10 +12,18 @@ global.PROCESS_NAME = "POW";
global.POWPROCESS = 1;
import "../core/library"
import "../core/crypto-library"
import "../core/terahashmining"
import { CreatePOWVersionX } from "../core/terahashmining"
var PROCESS = process;
if (process.send && !global.DEBUGPROCESS) {
process.send({ cmd: "online", message: "OK" });
global.ToLogClient = function(Str, StrKey, bFinal) {
process.send({
cmd: "ToLogClient",
Str: "" + Str,
StrKey: StrKey,
bFinal: bFinal
});
};
} else {
PROCESS = global.DEBUGPROCESS;
}
@@ -30,7 +38,7 @@ PROCESS.on('message', function(msg) {
StartHashPump(FastBlock);
FastBlock.RunCount = 0;
try {
if (global.CreatePOWVersionX(FastBlock))
if (CreatePOWVersionX(FastBlock))
process.send({
cmd: "POW",
BlockNum: FastBlock.BlockNum,
@@ -88,9 +96,14 @@ function CalcPOWHash() {
return;
}
try {
if (global.CreatePOWVersionX(Block))
if (CreatePOWVersionX(Block))
process.send({
cmd: "POW", BlockNum: Block.BlockNum, SeqHash: Block.SeqHash, Hash: Block.Hash, PowHash: Block.PowHash, AddrHash: Block.AddrHash,
cmd: "POW",
BlockNum: Block.BlockNum,
SeqHash: Block.SeqHash,
Hash: Block.Hash,
PowHash: Block.PowHash,
AddrHash: Block.AddrHash,
Num: Block.Num
});
} catch (e) {
@@ -128,7 +141,7 @@ function PumpHash() {
EndTime = CurTime;
return;
}
global.CreatePOWVersionX(global.BlockPump, 1);
CreatePOWVersionX(global.BlockPump, 1);
} else {
var Delta = CurTime - EndTime;
var PeriodPercent = 100 * Delta / global.CONSENSUS_PERIOD_TIME;