aboutsummaryrefslogtreecommitdiff
path: root/src/socket_coordinator.js
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2021-04-15 23:06:26 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2021-04-15 23:06:26 +0200
commit58f7d52150456713d3132408668a92d0f6f3d084 (patch)
tree4b346042a684e416e53c4f4ac779060b832ad227 /src/socket_coordinator.js
parent63c3da2af27fcfb1a9893ade03543e3a30949c8d (diff)
Port to sveltekit
Diffstat (limited to 'src/socket_coordinator.js')
-rw-r--r--src/socket_coordinator.js63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/socket_coordinator.js b/src/socket_coordinator.js
deleted file mode 100644
index f8fb525..0000000
--- a/src/socket_coordinator.js
+++ /dev/null
@@ -1,63 +0,0 @@
-import EventEmitter from 'eventemitter3';
-import { socketServer } from './config/config';
-
-const internals = {
-
- kReconnectInterval: 3000, // How often we attempt to reconnect
-
- eventEmitter: new EventEmitter(), // internal event emitter
- socket: null, // stores the socket connection
- retry: null, // stores the retry operation
-
- connect() {
-
- console.debug('Connecting socket.');
- internals.socket = new WebSocket(socketServer);
-
- internals.socket.addEventListener('message', internals.onMessage);
- internals.socket.addEventListener('error', internals.onError);
- internals.socket.addEventListener('close', internals.onClose);
- },
-
- // Handles socket errors.
-
- onError(event) {
-
- console.error('Socket error. Closing connection');
- internals.socket.close();
- },
-
- // Handles socket errors.
-
- onClose(event) {
-
- console.debug(`Connection closed: ${event.reason || 'Unknown reason'}. Retrying in ${internals.kReconnectInterval}ms`);
-
- internals.retry && clearTimeout(internals.retry);
- internals.retry = setTimeout(() => {
-
- console.debug('Reconnecting socket.');
- internals.retry = null;
- internals.connect();
- }, internals.kReconnectInterval);
- },
-
- // Forwards events from the socket to our internal event emitter.
-
- onMessage(event) {
-
- internals.eventEmitter.emit('message', event);
- }
-};
-
-export const onMessage = function (listener) {
-
- if (!internals.socket) {
- internals.connect();
- }
-
- internals.eventEmitter.on('message', (message) => {
-
- listener(JSON.parse(message.data));
- });
-};