1
0
forked from circlecloud/tera

refactor: 0 error

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
2019-07-10 15:59:04 +08:00
parent cbc0ed72c4
commit 4527e437fa
39 changed files with 1802 additions and 1695 deletions

View File

@@ -12,17 +12,19 @@
const MAX_MESSAGE_COUNT = 1000;
module.exports = class CMessages extends require("./transaction-validator")
{
MemPoolMsg
constructor(SetKeyPair, RunIP, RunPort, UseRNDHeader, bVirtual) {
super(SetKeyPair, RunIP, RunPort, UseRNDHeader, bVirtual)
this.MemPoolMsg = []
for (var i = 0; i <= MAX_LEVEL_SPECIALIZATION; i++)
this.MemPoolMsg[i] = new RBTree(CompareItemTimePow)
for (var i = 0; i <= global.MAX_LEVEL_SPECIALIZATION; i++)
this.MemPoolMsg[i] = new RBTree(global.CompareItemTimePow)
}
AddMsgToQuote(Msg) {
var Tree = this.MemPoolMsg[Msg.Level];
if (Tree) {
if (Tree.insert(Msg)) {
if (Tree.size > MEM_POOL_MSG_COUNT) {
if (Tree.size > global.MEM_POOL_MSG_COUNT) {
var maxitem = Tree.max();
Tree.remove(maxitem)
if (maxitem === Msg)
@@ -38,7 +40,7 @@ module.exports = class CMessages extends require("./transaction-validator")
}
IsValidMsg(Msg) {
this.CheckCreateMsgHASH(Msg)
if (Msg.power < MIN_POWER_POW_MSG)
if (Msg.power < global.MIN_POWER_POW_MSG)
return - 1;
if (Msg.time > this.CurrentBlockNum)
return - 1;
@@ -47,18 +49,18 @@ module.exports = class CMessages extends require("./transaction-validator")
CheckCreateMsgHASH(Msg) {
if (!Msg.HashPow) {
Msg.HASH = global.sha3(Msg.body)
Msg.HashPow = GetHashWithValues(Msg.HASH, Msg.nonce, Msg.time)
Msg.power = GetPowPower(Msg.HashPow)
Msg.HashPow = global.GetHashWithValues(Msg.HASH, Msg.nonce, Msg.time)
Msg.power = global.GetPowPower(Msg.HashPow)
Msg.TimePow = Msg.time + Msg.power - Math.log2(Msg.body.length / 128)
Msg.Level = AddrLevelArr(this.addrArr, Msg.addrArr)
if (Msg.Level >= MAX_LEVEL_SPECIALIZATION)
Msg.Level = MAX_LEVEL_SPECIALIZATION
Msg.Level = global.AddrLevelArr(this.addrArr, Msg.addrArr)
if (Msg.Level >= global.MAX_LEVEL_SPECIALIZATION)
Msg.Level = global.MAX_LEVEL_SPECIALIZATION
}
}
CreateMsgFromBody(Body, ToAddr) {
var HASH = global.sha3(Body);
var Msg = {
HASH: HASH, body: Body, addrArr: ToAddr, nonce: CreateNoncePOWExtern(HASH, this.CurrentBlockNum, 3 * (1 << MIN_POWER_POW_MSG)),
HASH: HASH, body: Body, addrArr: ToAddr, nonce: global.CreateNoncePOWExtern(HASH, this.CurrentBlockNum, 3 * (1 << global.MIN_POWER_POW_MSG)),
time: this.CurrentBlockNum,
};
this.CheckCreateMsgHASH(Msg)
@@ -97,8 +99,9 @@ module.exports = class CMessages extends require("./transaction-validator")
var Msg = arr[i];
if (this.IsValidMsg(Msg)) {
if (global.CompareArr(this.addrArr, Msg.addrArr) === 0) {
var App = DAppByType[Msg.body[0]];
var App = global.DAppByType[Msg.body[0]];
if (App) {
//@ts-ignore
App.OnMessage(Msg, BlockNum, i)
}
}
@@ -117,7 +120,7 @@ module.exports = class CMessages extends require("./transaction-validator")
GETMESSAGE(Info, CurTime) {
var arr = [];
var BufLength = 300;
var Level = AddrLevelArr(this.addrArr, Info.Node.addrArr);
var Level = global.AddrLevelArr(this.addrArr, Info.Node.addrArr);
var Tree = this.MemPoolMsg[Level];
if (Tree) {
var it = Tree.iterator(), Item;
@@ -145,10 +148,10 @@ module.exports = class CMessages extends require("./transaction-validator")
setTimeout(function() {
var Res = SELF.AddTransaction(TR, TR.ToAll);
if (TR.ToAll)
ToLogClient("#3 Added " + TrName(TR) + " for block: " + TR.num + " on timer Res=" + Res)
global.ToLogClient("#3 Added " + TrName(TR) + " for block: " + TR.num + " on timer Res=" + Res)
}, (delta - 3) * 1000)
if (Tr.ToAll)
ToLogClient("#2 Added " + TrName(Tr) + " for block: " + Tr.num + " to timer. Send transaction after " + (delta - 3) + " sec")
global.ToLogClient("#2 Added " + TrName(Tr) + " for block: " + Tr.num + " to timer. Send transaction after " + (delta - 3) + " sec")
return 4;
}
return - 3;
@@ -170,10 +173,10 @@ module.exports = class CMessages extends require("./transaction-validator")
SendTransaction(Tr) {
if (!Tr.ToAll)
return;
var CurTime = GetCurrentTime(0) - 0;
var CurTime = global.GetCurrentTime(0) - 0;
var Count;
if (GrayConnect())
Count = Math.trunc(MAX_GRAY_CONNECTIONS_TO_SERVER / 2)
if (global.GrayConnect())
Count = Math.trunc(global.MAX_GRAY_CONNECTIONS_TO_SERVER / 2)
else
Count = Math.min(this.ActualNodes.size, 16)
if (Count < 2)