diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2017-07-07 19:18:48 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2017-07-07 19:18:48 +0200 |
| commit | 3d3a7b80d34c100846c8ae130b424b63ba3c0784 (patch) | |
| tree | 83ba690e72c353b16a3b78c95c2b77ff4c5eee39 /lib/bridge | |
| parent | b89147ecd38b0f95a2e4917aba7f44bf3bb70327 (diff) | |
socket io communication
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!'); }) |
