From 0134677c2d57993643caff1eef5c04acd433a4f6 Mon Sep 17 00:00:00 2001 From: Gregory Terzian <2792687+gterzian@users.noreply.github.com> Date: Fri, 15 Mar 2019 18:57:03 +0800 Subject: [PATCH] Add network state to backend (#123) --- packages/backend/src/Node.ts | 6 ++++++ packages/backend/src/message.ts | 1 + packages/common/src/types.ts | 1 + 3 files changed, 8 insertions(+) diff --git a/packages/backend/src/Node.ts b/packages/backend/src/Node.ts index 587b02f..124a6c8 100644 --- a/packages/backend/src/Node.ts +++ b/packages/backend/src/Node.ts @@ -31,6 +31,7 @@ export default class Node { public readonly events = new EventEmitter() as EventEmitter & NodeEvents; + public networkState: Maybe = null; public location: Maybe = null; public lastMessage: Types.Timestamp; public config: string; @@ -239,6 +240,7 @@ export default class Node { private onSystemInterval(message: SystemInterval) { const { + network_state, peers, txcount, cpu, @@ -249,6 +251,10 @@ export default class Node { finalized_hash: finalizedHash } = message; + if (this.networkState !== network_state && network_state) { + this.networkState = network_state; + }; + if (this.peers !== peers || this.txcount !== txcount) { this.peers = peers; this.txcount = txcount; diff --git a/packages/backend/src/message.ts b/packages/backend/src/message.ts index 1a1d41d..f199ada 100644 --- a/packages/backend/src/message.ts +++ b/packages/backend/src/message.ts @@ -53,6 +53,7 @@ export interface SystemConnected { export interface SystemInterval extends BestBlock { msg: 'system.interval'; + network_state: Maybe; txcount: Types.TransactionCount; peers: Types.PeerCount; memory: Maybe; diff --git a/packages/common/src/types.ts b/packages/common/src/types.ts index 4e9025a..7c2e34b 100644 --- a/packages/common/src/types.ts +++ b/packages/common/src/types.ts @@ -24,6 +24,7 @@ export type MemoryUse = Opaque; export type CPUUse = Opaque; export type BytesPerSecond = Opaque; export type NetworkId = Opaque; +export type NetworkState = Opaque; export type BlockDetails = [BlockNumber, BlockHash, Milliseconds, Timestamp, Maybe]; export type NodeDetails = [NodeName, NodeImplementation, NodeVersion, Maybe
, Maybe];