summaryrefslogtreecommitdiff
path: root/app/relay/rpc.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-05-26 23:17:19 +0200
committerJules Laplace <julescarbon@gmail.com>2018-05-26 23:17:19 +0200
commit2fa89d40071e4afffa2aeb1805eecf2f1c148cf0 (patch)
treee125683e840cc340e2929c44b8a47da30e19348a /app/relay/rpc.js
parentc8e0a3a77106cfd608e0219c7010eb7c3a485887 (diff)
modularize... circular dependencies... whatever
Diffstat (limited to 'app/relay/rpc.js')
-rw-r--r--app/relay/rpc.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/app/relay/rpc.js b/app/relay/rpc.js
new file mode 100644
index 0000000..d21dacc
--- /dev/null
+++ b/app/relay/rpc.js
@@ -0,0 +1,37 @@
+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
+} \ No newline at end of file