From 3946614b3a9fea6e6624e9a86ce3cb727fb01340 Mon Sep 17 00:00:00 2001 From: HF Date: Sun, 11 Sep 2022 14:20:40 +0200 Subject: [PATCH 1/3] fix modtools --- src/socket/MessageBroker.js | 3 +-- src/socket/SocketServer.js | 4 +--- src/socket/packets/ChunkUpdate.js | 9 +++++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/socket/MessageBroker.js b/src/socket/MessageBroker.js index b4fdc84..e6feb61 100644 --- a/src/socket/MessageBroker.js +++ b/src/socket/MessageBroker.js @@ -129,9 +129,8 @@ class MessageBroker extends SocketEvents { } onShardBinaryMessage(buffer, shard) { - if (buffer.byteLength === 0) return; - const opcode = buffer[0]; try { + const opcode = buffer[0]; switch (opcode) { case PixelUpdateMB.OP_CODE: { const puData = PixelUpdateMB.hydrate(buffer); diff --git a/src/socket/SocketServer.js b/src/socket/SocketServer.js index a187bfa..72c4493 100644 --- a/src/socket/SocketServer.js +++ b/src/socket/SocketServer.js @@ -471,10 +471,8 @@ class SocketServer { } async onBinaryMessage(buffer, ws) { - if (buffer.byteLength === 0) return; - const opcode = buffer[0]; - try { + const opcode = buffer[0]; switch (opcode) { case PixelUpdate.OP_CODE: { const { canvasId, user } = ws; diff --git a/src/socket/packets/ChunkUpdate.js b/src/socket/packets/ChunkUpdate.js index b03d30a..6e34e76 100644 --- a/src/socket/packets/ChunkUpdate.js +++ b/src/socket/packets/ChunkUpdate.js @@ -12,19 +12,20 @@ export default { */ hydrate(data) { const canvasId = data[1]; - const chunk = [data[2], data[3]]; - return [canvasId, chunk]; + const i = data.readUInt8(2); + const j = data.readUInt8(3); + return [canvasId, [i, j]]; }, /* * @param canvasId, * chunkid id consisting of chunk coordinates */ dehydrate(canvasId, [i, j]) { - return Buffer.from({ + return Buffer.from([ OP_CODE, canvasId, i, j, - }); + ]); }, }; From 5e61aea368807ec3162e95a69bab11122c343ab1 Mon Sep 17 00:00:00 2001 From: HF Date: Sun, 11 Sep 2022 14:52:20 +0200 Subject: [PATCH 2/3] refactor shards subscription --- src/socket/MessageBroker.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/socket/MessageBroker.js b/src/socket/MessageBroker.js index e6feb61..7d96142 100644 --- a/src/socket/MessageBroker.js +++ b/src/socket/MessageBroker.js @@ -78,6 +78,7 @@ class MessageBroker extends SocketEvents { } if (!this.shards[message]) { console.log(`CLUSTER: Shard ${message} connected`); + this.shards[message] = Date.now(); await this.subscriber.subscribe( message, (buffer) => this.onShardBinaryMessage(buffer, message), @@ -85,6 +86,7 @@ class MessageBroker extends SocketEvents { ); // immediately give new shards informations this.publisher.publish('bc', this.thisShard); + return; } this.shards[message] = Date.now(); return; From 96c76b9b4067e363012d6f73cfe5fd017ce86cd0 Mon Sep 17 00:00:00 2001 From: HF Date: Sun, 11 Sep 2022 14:54:13 +0200 Subject: [PATCH 3/3] be less noisy --- src/core/tileserver.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/tileserver.js b/src/core/tileserver.js index a299ebb..9d69191 100644 --- a/src/core/tileserver.js +++ b/src/core/tileserver.js @@ -131,9 +131,11 @@ class CanvasUpdater { const chunkOffset = cx + cy * this.firstZoomtileWidth; if (~queue.indexOf(chunkOffset)) return; queue.push(chunkOffset); + /* logger.info( `Tiling: Enqueued ${cx}, ${cy} / ${this.id} for basezoom reload`, ); + */ } /*