From a122047676a0e7dcb84ef7329f3c4459bf74a453 Mon Sep 17 00:00:00 2001 From: hensm Date: Sun, 11 Aug 2019 14:02:52 +0100 Subject: [PATCH] Fix CPU usage issue with 0-interval timer (fixes #73) --- app/src/bridge/Session.ts | 2 +- app/src/bridge/StatusListener.ts | 6 +++--- ext/src/background/ShimManager.ts | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/bridge/Session.ts b/app/src/bridge/Session.ts index 85080b4..8f67383 100644 --- a/app/src/bridge/Session.ts +++ b/app/src/bridge/Session.ts @@ -23,7 +23,7 @@ export default class Session { private clientConnection?: Channel; private clientHeartbeat?: Channel; private clientReceiver?: Channel; - private clientHeartbeatIntervalId?: NodeJS.Timer; + private clientHeartbeatIntervalId?: NodeJS.Timeout; private isSessionCreated = false; diff --git a/app/src/bridge/StatusListener.ts b/app/src/bridge/StatusListener.ts index f15a8b6..b0e3363 100644 --- a/app/src/bridge/StatusListener.ts +++ b/app/src/bridge/StatusListener.ts @@ -15,7 +15,7 @@ const NS_RECEIVER = "urn:x-cast:com.google.cast.receiver"; export default class StatusListener extends EventEmitter { private client: Client; private clientReceiver?: Channel; - private clientHeartbeatIntervalId?: number; + private clientHeartbeatIntervalId?: NodeJS.Timeout; constructor ( private host: string @@ -27,7 +27,7 @@ export default class StatusListener extends EventEmitter { this.client.connect({ host, port }, this.onConnect.bind(this)); this.client.on("close", () => { - clearInterval(this.clientHeartbeatIntervalId); + clearInterval(this.clientHeartbeatIntervalId!); }); } @@ -80,6 +80,6 @@ export default class StatusListener extends EventEmitter { this.clientHeartbeatIntervalId = setInterval(() => { clientHeartbeat.send({ type: "PING" }); - }); + }, 5000); } } diff --git a/ext/src/background/ShimManager.ts b/ext/src/background/ShimManager.ts index 9ea528e..3a55efc 100644 --- a/ext/src/background/ShimManager.ts +++ b/ext/src/background/ShimManager.ts @@ -30,7 +30,6 @@ export default new class ShimManager { private activeShims = new Set(); public async init () { - await StatusManager.init(); await this.initStatusListeners(); }