jsgar 1.5.1 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gar.umd.js +21 -12
- package/package.json +1 -1
package/dist/gar.umd.js
CHANGED
|
@@ -60,8 +60,10 @@
|
|
|
60
60
|
this.application = 'unknown-js';
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
this.
|
|
64
|
-
this.
|
|
63
|
+
this.serverTopicIdToName = new Map();
|
|
64
|
+
this.serverTopicNameToId = new Map();
|
|
65
|
+
this.serverKeyIdToName = new Map();
|
|
66
|
+
this.serverKeyNameToId = new Map();
|
|
65
67
|
this.localTopicCounter = 1;
|
|
66
68
|
this.localKeyCounter = 1;
|
|
67
69
|
this.localTopicMap = new Map();
|
|
@@ -199,12 +201,14 @@
|
|
|
199
201
|
*/
|
|
200
202
|
_receiveMessages() {
|
|
201
203
|
this.websocket.onmessage = (event) => {
|
|
204
|
+
let message = null;
|
|
202
205
|
try {
|
|
203
|
-
|
|
204
|
-
this._processMessage(message);
|
|
206
|
+
message = JSON.parse(event.data);
|
|
205
207
|
} catch (e) {
|
|
206
208
|
this.log('ERROR', `Invalid JSON received: ${e.message}`);
|
|
207
209
|
}
|
|
210
|
+
|
|
211
|
+
this._processMessage(message);
|
|
208
212
|
};
|
|
209
213
|
}
|
|
210
214
|
|
|
@@ -403,12 +407,12 @@
|
|
|
403
407
|
this.registerKeyIntroductionHandler((keyId, name, _class) =>
|
|
404
408
|
this.log('DEBUG', `New server key: ${name} (Server ID: ${keyId})`));
|
|
405
409
|
this.registerDeleteKeyHandler((keyId) =>
|
|
406
|
-
this.log('DEBUG', `Delete key: ${this.
|
|
410
|
+
this.log('DEBUG', `Delete key: ${this.serverKeyIdToName.get(keyId) || 'unknown'} (Server ID: ${keyId})`));
|
|
407
411
|
this.registerSubscriptionStatusHandler(this._defaultSubscriptionStatusHandler.bind(this));
|
|
408
412
|
this.registerDeleteRecordHandler((keyId, topicId) =>
|
|
409
|
-
this.log('DEBUG', `Delete record: ${this.
|
|
413
|
+
this.log('DEBUG', `Delete record: ${this.serverKeyIdToName.get(keyId) || 'unknown'} - ${this.serverTopicIdToName.get(topicId) || 'unknown'}`));
|
|
410
414
|
this.registerRecordUpdateHandler((keyId, topicId, value) =>
|
|
411
|
-
this.log('DEBUG', `Record update: ${this.
|
|
415
|
+
this.log('DEBUG', `Record update: ${this.serverKeyIdToName.get(keyId) || 'unknown'} - ${this.serverTopicIdToName.get(topicId) || 'unknown'} = ${JSON.stringify(value)}`));
|
|
412
416
|
this.registerShutdownHandler(() => this.log('INFO', 'Shutdown received'));
|
|
413
417
|
}
|
|
414
418
|
|
|
@@ -555,11 +559,14 @@
|
|
|
555
559
|
_processMessage(message) {
|
|
556
560
|
const msgType = message.message_type;
|
|
557
561
|
if (msgType === 'TopicIntroduction') {
|
|
558
|
-
this.
|
|
562
|
+
this.serverTopicIdToName.set(message.value.topic_id, message.value.name);
|
|
563
|
+
this.serverTopicNameToId.set(message.value.name, message.value.topic_id);
|
|
559
564
|
} else if (msgType === 'KeyIntroduction') {
|
|
560
|
-
this.
|
|
565
|
+
this.serverKeyIdToName.set(message.value.key_id, message.value.name);
|
|
566
|
+
this.serverKeyNameToId.set(message.value.name, message.value.key_id);
|
|
561
567
|
} else if (msgType === 'DeleteKey') {
|
|
562
|
-
this.
|
|
568
|
+
this.serverKeyNameToId.delete(this.serverKeyIdToName.get(message.value.key_id) || "");
|
|
569
|
+
this.serverKeyIdToName.delete(message.value.key_id);
|
|
563
570
|
} else if (msgType === 'Heartbeat') {
|
|
564
571
|
this.lastHeartbeatTime = Date.now() / 1000;
|
|
565
572
|
if (this._initialGracePeriod) {
|
|
@@ -567,8 +574,10 @@
|
|
|
567
574
|
}
|
|
568
575
|
} else if (msgType === 'Introduction') {
|
|
569
576
|
const value = message.value;
|
|
570
|
-
this.
|
|
571
|
-
this.
|
|
577
|
+
this.serverTopicIdToName.clear();
|
|
578
|
+
this.serverTopicNameToId.clear();
|
|
579
|
+
this.serverKeyIdToName.clear();
|
|
580
|
+
this.serverKeyNameToId.clear();
|
|
572
581
|
this.recordMap.clear();
|
|
573
582
|
this.heartbeatTimeout = Math.max(this.heartbeatTimeout, value.heartbeat_timeout_interval / 1000);
|
|
574
583
|
this.lastHeartbeatTime = Date.now() / 1000;
|