refactor: rewrite rpc server client
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
import CBlock from './block-loader'
|
||||
import { RBTree } from './library'
|
||||
import { STreeBuffer } from './base';
|
||||
import { SendToWebClient } from '../rpc/server'
|
||||
import { teraManager } from '../rpc/manager'
|
||||
require('./library');
|
||||
require('./crypto-library');
|
||||
const TX_PROCESS_TIME = 100;
|
||||
@@ -1352,16 +1352,16 @@ export default class CConsensus extends CBlock {
|
||||
MiningProcess(msg) {
|
||||
var BlockMining = this.GetBlock(msg.BlockNum);
|
||||
if (!BlockMining) {
|
||||
SendToWebClient({
|
||||
teraManager.SendToWebClient({
|
||||
msg: msg,
|
||||
errror: '!BlockMining'
|
||||
error: '!BlockMining'
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (!BlockMining.StartMining || BlockMining.bSave) {
|
||||
SendToWebClient({
|
||||
teraManager.SendToWebClient({
|
||||
msg: msg,
|
||||
errror: `!BlockMining.StartMining ${BlockMining.StartMining} || BlockMining.bSave ${BlockMining.bSave}`
|
||||
error: `!BlockMining.StartMining ${BlockMining.StartMining} || BlockMining.bSave ${BlockMining.bSave}`
|
||||
})
|
||||
return;
|
||||
}
|
||||
@@ -1404,19 +1404,19 @@ export default class CConsensus extends CBlock {
|
||||
setTimeout(() => {
|
||||
let webmsg: any = { BlockNum: msg.BlockNum }
|
||||
webmsg.Mining = {
|
||||
SeqHash: global.GetHexFromArr(BlockMining.SeqHash),
|
||||
AddrHash: global.GetHexFromArr(BlockMining.AddrHash),
|
||||
PrevHash: global.GetHexFromArr(BlockMining.PrevHash),
|
||||
TreeHash: global.GetHexFromArr(BlockMining.TreeHash),
|
||||
Hash: global.GetHexFromArr(BlockMining.Hash),
|
||||
SeqHash: global.GetHexFromArr(BlockMining.Hash)
|
||||
}
|
||||
webmsg.New = {
|
||||
Hash: global.GetHexFromArr(ValueNew.Hash),
|
||||
PowHash: global.GetHexFromArr(ValueNew.PowHash)
|
||||
PowHash: global.GetHexFromArr(BlockMining.PowHash)
|
||||
}
|
||||
Object.assign(webmsg, {
|
||||
HashCount,
|
||||
Power,
|
||||
Num: msg.Num
|
||||
Num: msg.NodeNum
|
||||
})
|
||||
SendToWebClient(webmsg)
|
||||
teraManager.SendToWebClient(webmsg)
|
||||
}, 1)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1193,10 +1193,19 @@ global.HTTPCaller.GetHistoryTransactions = function(Params) {
|
||||
|
||||
function GetCopyBlock(Block) {
|
||||
var Result: any = {
|
||||
BlockNum: Block.BlockNum, bSave: Block.bSave, TreeHash: global.GetHexFromAddres(Block.TreeHash), AddrHash: global.GetHexFromAddres(Block.AddrHash),
|
||||
PrevHash: global.GetHexFromAddres(Block.PrevHash), SumHash: global.GetHexFromAddres(Block.SumHash), SumPow: Block.SumPow, TrDataPos: Block.TrDataPos,
|
||||
TrDataLen: Block.TrDataLen, SeqHash: global.GetHexFromAddres(Block.SeqHash), Hash: global.GetHexFromAddres(Block.Hash), Power: global.GetPowPower(Block.PowHash),
|
||||
TrCount: Block.TrCount, arrContent: Block.arrContent,
|
||||
BlockNum: Block.BlockNum,
|
||||
bSave: Block.bSave,
|
||||
TreeHash: global.GetHexFromAddres(Block.TreeHash),
|
||||
AddrHash: global.GetHexFromAddres(Block.AddrHash),
|
||||
PrevHash: global.GetHexFromAddres(Block.PrevHash),
|
||||
SumHash: global.GetHexFromAddres(Block.SumHash),
|
||||
SumPow: Block.SumPow, TrDataPos: Block.TrDataPos,
|
||||
TrDataLen: Block.TrDataLen,
|
||||
SeqHash: global.GetHexFromAddres(Block.SeqHash),
|
||||
Hash: global.GetHexFromAddres(Block.Hash),
|
||||
Power: global.GetPowPower(Block.PowHash),
|
||||
TrCount: Block.TrCount,
|
||||
arrContent: Block.arrContent,
|
||||
};
|
||||
return Result;
|
||||
};
|
||||
|
||||
@@ -13,6 +13,16 @@ import "./library"
|
||||
import * as net from "net"
|
||||
import { secp256k1, RBTree } from '../core/library'
|
||||
var ConnectIDCount = 1;
|
||||
export class TeraSocket extends net.Socket {
|
||||
ConnectToServer: boolean;
|
||||
Node: CNode;
|
||||
ConnectID: string;
|
||||
WasClose: number;
|
||||
SocketStatus: number;
|
||||
Buf: Buffer;
|
||||
SocketNum: number;
|
||||
SocketPrioritet: number;
|
||||
}
|
||||
export default class CNode {
|
||||
addrStr
|
||||
ip
|
||||
@@ -72,7 +82,7 @@ export default class CNode {
|
||||
CanHardTraffic
|
||||
BufWriteLength
|
||||
BufWrite
|
||||
SendPacket
|
||||
SendPacket: RBTree<any>
|
||||
ConnectCount
|
||||
TrafficArr
|
||||
SendTrafficCurrent
|
||||
@@ -80,11 +90,11 @@ export default class CNode {
|
||||
ErrCount
|
||||
ErrCountAll
|
||||
SendPacketNum
|
||||
Socket
|
||||
Socket2
|
||||
Socket: TeraSocket
|
||||
Socket2: TeraSocket
|
||||
ReconnectFromServer
|
||||
SecretForReconnect
|
||||
Self
|
||||
Self: boolean
|
||||
addrStrTemp
|
||||
DoubleConnection
|
||||
PubKey
|
||||
@@ -191,7 +201,7 @@ export default class CNode {
|
||||
NODE.Socket.ConnectToServer = true
|
||||
SetSocketStatus(NODE.Socket, 2)
|
||||
}
|
||||
})
|
||||
}) as TeraSocket
|
||||
SetSocketStatus(NODE.Socket, 1)
|
||||
NODE.Socket.Node = NODE
|
||||
NODE.Socket.ConnectID = "~C" + ConnectIDCount
|
||||
@@ -210,7 +220,7 @@ export default class CNode {
|
||||
NODE.Socket2.ConnectToServer = true
|
||||
SetSocketStatus(NODE.Socket2, 2)
|
||||
}
|
||||
})
|
||||
}) as TeraSocket
|
||||
SetSocketStatus(NODE.Socket2, 1)
|
||||
NODE.Socket2.Node = NODE
|
||||
NODE.Socket2.ConnectID = "~R" + ConnectIDCount
|
||||
@@ -286,7 +296,7 @@ export default class CNode {
|
||||
}
|
||||
else
|
||||
if (Str === "SELF") {
|
||||
NODE.Self = 1
|
||||
NODE.Self = true
|
||||
}
|
||||
else
|
||||
if (Str === "DOUBLE") {
|
||||
@@ -395,7 +405,7 @@ export default class CNode {
|
||||
Node.addrArr = Buf.addrArr
|
||||
Node.addrStr = addrStr
|
||||
if (global.CompareArr(global.SERVER.addrArr, Node.addrArr) === 0) {
|
||||
Node.Self = 1
|
||||
Node.Self = true
|
||||
return 0;
|
||||
}
|
||||
var Hash = global.shaarr2(Buf.addrArr, Buf.HashRND);
|
||||
|
||||
@@ -16,6 +16,7 @@ import { secp256k1, RBTree } from "./library"
|
||||
import "./crypto-library"
|
||||
import CConnect from './connect'
|
||||
import { STreeBuffer } from './base';
|
||||
import CNode, { TeraSocket } from './node';
|
||||
const HARD_PACKET_PERIOD = 20;
|
||||
global.BUF_TYPE = 1;
|
||||
global.STR_TYPE = 2;
|
||||
@@ -409,7 +410,7 @@ export default class CTransport extends CConnect {
|
||||
GetHashFromData(Info) {
|
||||
return global.shaarr(Info.Method + Info.Length + "-" + (Info.NodeTime - 0));
|
||||
}
|
||||
OnGetFromTCP(Node, Socket, Buf) {
|
||||
OnGetFromTCP(Node: CNode, Socket: TeraSocket, Buf) {
|
||||
if (!Node)
|
||||
return;
|
||||
if (!Node.Socket)
|
||||
|
||||
Reference in New Issue
Block a user