require('dotenv').config() import { remote } from './remote' import * as runner from './runner' const zerorpc = require('zerorpc') let connected = false export const rpc = new zerorpc.Client() rpc.connect('tcp://127.0.0.1:' + process.env.RPC_PORT) rpc.on('error', function(error) { console.error('RPC server error:', error) }) console.log('RPC listening on port ' + process.env.RPC_PORT) rpc.invoke('ping', (err, res, more) => { console.log('sent ping to rpc, got', res) if (res === 'pong') { remote.emit('system_res', { type: 'rpc_connected', runner: runner.status() }) connected = true } else { remote.emit('system_res', { type: 'rpc_disconnected', }) connected = false } }) export function get_connected() { return connected } export function set_connected(option) { connected = !! option }