From 42e7010697ffb0591a594b534758b2e8dcee503f Mon Sep 17 00:00:00 2001 From: maciejhirsz Date: Sat, 21 Jul 2018 08:30:06 +0200 Subject: [PATCH] Update block immediately after adding a node to the chain --- packages/backend/src/Chain.ts | 2 ++ packages/backend/src/Node.ts | 14 +++++++------- packages/frontend/src/Connection.ts | 8 ++++---- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/backend/src/Chain.ts b/packages/backend/src/Chain.ts index 26ae587..7a6c5bb 100644 --- a/packages/backend/src/Chain.ts +++ b/packages/backend/src/Chain.ts @@ -45,6 +45,8 @@ export default class Chain { node.events.on('block', () => this.updateBlock(node)); node.events.on('stats', () => this.feeds.broadcast(Feed.stats(node))); node.events.on('location', (location) => this.feeds.broadcast(Feed.locatedNode(node, location))); + + this.updateBlock(node); } public addFeed(feed: Feed) { diff --git a/packages/backend/src/Node.ts b/packages/backend/src/Node.ts index a301a5d..e43089f 100644 --- a/packages/backend/src/Node.ts +++ b/packages/backend/src/Node.ts @@ -64,8 +64,6 @@ export default class Node { this.lastMessage = timestamp(); this.socket = socket; - let start = Date.now(); - socket.on('message', (data) => { const message = parseMessage(data); @@ -145,6 +143,7 @@ export default class Node { const timeout = setTimeout(() => { cleanup(); + socket.close(); socket.terminate(); return reject(new Error('Timeout on waiting for system.connected message')); @@ -206,6 +205,7 @@ export default class Node { private disconnect() { this.socket.removeAllListeners(); + this.socket.close(); this.socket.terminate(); this.events.emit('disconnect'); @@ -237,11 +237,11 @@ export default class Node { } private updateLatency(now: Types.Timestamp) { - // if (this.pingStart) { - // console.error(`${this.name} timed out on ping message.`); - // this.disconnect(); - // return; - // } + if (this.pingStart) { + console.error(`${this.name} timed out on ping message.`); + this.disconnect(); + return; + } this.pingStart = now; this.socket.ping(noop); diff --git a/packages/frontend/src/Connection.ts b/packages/frontend/src/Connection.ts index 42d5efa..61129c2 100644 --- a/packages/frontend/src/Connection.ts +++ b/packages/frontend/src/Connection.ts @@ -11,11 +11,11 @@ export class Connection { return new Connection(await Connection.socket(), update); } - private static readonly address = window.location.protocol === 'https:' - ? `wss://${window.location.hostname}/feed/` - : `ws://${window.location.hostname}:8080`; + // private static readonly address = window.location.protocol === 'https:' + // ? `wss://${window.location.hostname}/feed/` + // : `ws://${window.location.hostname}:8080`; - // private static readonly address = 'wss://telemetry.polkadot.io/feed/'; + private static readonly address = 'wss://telemetry.polkadot.io/feed/'; private static async socket(): Promise { let socket = await Connection.trySocket();