summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/relay/index.js33
-rw-r--r--app/server/index.js14
2 files changed, 34 insertions, 13 deletions
diff --git a/app/relay/index.js b/app/relay/index.js
index 2ed8e10..eaec38b 100644
--- a/app/relay/index.js
+++ b/app/relay/index.js
@@ -8,21 +8,27 @@ const Readable = require('stream').Readable;
let remote = io.connect(process.env.SOCKETIO_REMOTE);
remote.on('cmd', (data) => {
- if (! data.cmd || ! data.payload) {
+ console.log('cmd data', data)
+ if (! data.cmd) {
console.log('malformed param...?')
return
}
console.log('got', data.cmd)
switch (data.cmd) {
case 'send_param':
+ if (! data.payload) return
rpc.invoke(data.cmd, data.payload.key, data.payload.value, (err, res, more) => {
- console.log('sent param', res)
+ console.log('sent param, got response', res)
})
break
case 'get_params':
+ case 'get_last_frame':
rpc.invoke(data.cmd, (err, res, more) => {
console.log('got params', res)
- remote.emit('params', res)
+ remote.emit('res', {
+ cmd: data.cmd,
+ res: res,
+ })
})
break
}
@@ -46,14 +52,19 @@ let relay = new zerorpc.Server({
send_frame: function (fn, frame, reply) {
reply()
console.log('got frame, ' + frame.length + ' bytes')
- var stream = ss.createStream();
- ss(remote).emit('frame', stream, {name: fn})
+ remote.emit('frame', fn, frame)
+ // var stream = ss.createStream()
+ // stream.on('data', () => { console.log('stream data...') })
+ // // console.log(stream)
- var s = new Readable();
- s._read = function noop() {}
- s.push(frame)
- s.push(null);
- s.pipe(stream)
+ // var rs = new Readable()
+ // rs.on('data', (d) => { console.log('rs data...', d.length) })
+ // rs._read = function noop() {}
+ // rs.pipe(stream)
+ // rs.push(frame)
+ // rs.push(null)
+ // ss(remote).on('frame', () => console.log('frame??'))
+ // ss(remote).emit('frame', stream, {name: fn}, function(){ console.log('where am i') })
}
})
relay.on("error", function(error) {
@@ -61,3 +72,5 @@ relay.on("error", function(error) {
})
relay.bind("tcp://0.0.0.0:" + process.env.RELAY_PORT);
console.log('Relay listening on port ' + process.env.RELAY_PORT)
+
+module.exports = { relay: relay, remote: remote, } \ No newline at end of file
diff --git a/app/server/index.js b/app/server/index.js
index 55daba4..0478b81 100644
--- a/app/server/index.js
+++ b/app/server/index.js
@@ -23,6 +23,7 @@ const relay = io.of('/relay')
client.on('connect', socket => {
console.log('Client connected')
socket.on('cmd', data => {
+ console.log('Client sent command', data)
relay.emit('cmd', data)
})
socket.on('disconnect', () => {
@@ -32,13 +33,20 @@ client.on('connect', socket => {
relay.on('connect', socket => {
console.log('Relay connected')
- socket.on('params', data => {
- client.emit('params', data)
+ socket.on('res', data => {
+ console.log('received response', data.cmd)
+ client.emit('res', data)
+ })
+
+ socket.on('frame', (fn, data) => {
+ console.log('relay frame', fn, data.length)
+ client.emit('frame', fn, data)
})
ss(relay).on('frame', (stream, data) => {
- console.log(data)
+ console.log('received frame', data)
Object.values(client.connected).map(socket => {
+ console.log('emitting to socket')
ss(socket).emit('frame', stream, data)
})
})