diff options
Diffstat (limited to 'lib/bridge')
| -rw-r--r-- | lib/bridge/index.js | 17 |
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!'); }) |
