summaryrefslogtreecommitdiff
path: root/lib/bridge
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2017-07-07 19:18:48 +0200
committerJules Laplace <julescarbon@gmail.com>2017-07-07 19:18:48 +0200
commit3d3a7b80d34c100846c8ae130b424b63ba3c0784 (patch)
tree83ba690e72c353b16a3b78c95c2b77ff4c5eee39 /lib/bridge
parentb89147ecd38b0f95a2e4917aba7f44bf3bb70327 (diff)
socket io communication
Diffstat (limited to 'lib/bridge')
-rw-r--r--lib/bridge/index.js17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/bridge/index.js b/lib/bridge/index.js
index 199dfb3..b6403ba 100644
--- a/lib/bridge/index.js
+++ b/lib/bridge/index.js
@@ -1,6 +1,6 @@
import { execFile, spawn } from 'child_process'
-export default class Bridge {
+class Bridge {
constructor() {
this.cpus = []
this.getDevices()
@@ -13,6 +13,12 @@ export default class Bridge {
console.error('error fetching devices:', err)
})
}
+ connectSocketIo(io) {
+ this.io = io
+ }
+ broadcast(message, data) {
+ this.io && this.io.emit(message, data)
+ }
run(args) {
return new Promise( (resolve, reject) => {
console.log('>', args.join(' '))
@@ -33,6 +39,10 @@ export default class Bridge {
}
}
+const bridge = new Bridge
+
+export default bridge
+
var ipc = require('node-ipc')
ipc.config.id = 'cortex'
@@ -42,6 +52,7 @@ ipc.serve( () => {
ipc.server.on('connect', (socket) => {
console.log('>>> worker connected')
ipc.server.emit(socket, 'message', true)
+ bridge.broadcast('worker', {connected: true})
})
ipc.server.on('message', (data, socket) => {
ipc.log('got a message : '.debug, data);
@@ -51,6 +62,10 @@ ipc.serve( () => {
// data+' world!'
// )
})
+ ipc.server.on('processed', (data, socket) => {
+ console.log('processed job')
+ bridge.broadcast('processed', data)
+ })
ipc.server.on( 'socket.disconnected', (socket, destroyedSocketID) => {
ipc.log('client ' + destroyedSocketID + ' has disconnected!');
})