From 90cad535c470fffa5c34c48737e44c1641416f0d Mon Sep 17 00:00:00 2001 From: Florrie Date: Fri, 10 Jul 2020 11:28:34 -0300 Subject: basic working backend save/restore & socket server Backend save/restore code (living in serialized-backend.js) has been well tested and shouldn't need much change going forward. Now we get to begin working on the actual synchronized-over-socket-server commands! --- index.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'index.js') diff --git a/index.js b/index.js index 7632844..0553808 100755 --- a/index.js +++ b/index.js @@ -4,11 +4,22 @@ import {getPlayer} from './players.js' import {parseOptions} from './general-util.js' -import {getItemPathString} from './playlist-utils.js' import Backend from './backend.js' import setupClient from './client.js' import TelnetServer from './telnet.js' +import { + attachBackendToSocketClient, + attachSocketServerToBackend, + makeSocketServer, + makeSocketClient, +} from './socket.js' + +import { + getItemPathString, + updatePlaylistFormat, +} from './playlist-utils.js' + import {CommandLineInterface} from 'tui-lib/util/interfaces' import * as ansi from 'tui-lib/util/ansi' @@ -52,6 +63,8 @@ async function main() { 'player-options': {type: 'series'}, 'stress-test': {type: 'flag'}, + 'socket-client': {type: 'value'}, + 'socket-server': {type: 'flag'}, 'telnet-server': {type: 'flag'}, 'skip-config-file': {type: 'flag'}, 'config-file': {type: 'value'}, @@ -164,6 +177,22 @@ async function main() { appElement.attachAsServerHost(telnetServer) } + let socketServer + if (options['socket-server']) { + socketServer = makeSocketServer() + attachSocketServerToBackend(socketServer, backend) + socketServer.listen(1255) + } + + let socketClient + if (options['socket-client']) { + socketClient = makeSocketClient() + attachBackendToSocketClient(backend, socketClient, { + getPlaylistSources: () => appElement.playlistSources + }) + socketClient.socket.connect(1255) + } + if (options['stress-test']) { await loadPlaylistPromise -- cgit 1.3.0-6-gf8a5