summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2018-05-20 19:12:29 +0200
committerJules Laplace <julescarbon@gmail.com>2018-05-20 19:12:29 +0200
commit0691bca6d1f59a61ac30938363e437da034e9c47 (patch)
tree26673994c03edc9ec8ab45a6f51a08934a150798
parent67158e2a53c4eb50364c42055690f95e650dcc48 (diff)
chex
-rw-r--r--app/relay/index.js2
-rw-r--r--app/server/index.js41
-rw-r--r--rpc/rpc.py4
3 files changed, 31 insertions, 16 deletions
diff --git a/app/relay/index.js b/app/relay/index.js
index a5a01b9..16bb988 100644
--- a/app/relay/index.js
+++ b/app/relay/index.js
@@ -50,7 +50,7 @@ let relay = new zerorpc.Server({
send_frame: function (fn, frame, reply) {
reply()
- // console.log('got frame, ' + frame.length + ' bytes')
+ console.log('got frame, ' + frame.length + ' bytes')
remote.emit('frame', { fn: fn, frame: frame })
}
})
diff --git a/app/server/index.js b/app/server/index.js
index 6be7fe4..e561f57 100644
--- a/app/server/index.js
+++ b/app/server/index.js
@@ -16,21 +16,21 @@ server.listen(process.env.EXPRESS_PORT, () => {
})
const io = socket_io(server)
-const client = io.of('/client')
-const relay = io.of('/relay')
+let relay, client
-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', () => {
- console.log("Client disconnected")
- })
-})
+client = io.of('/client')
+client.on('connect', bind_client)
-relay.on('connect', socket => {
+if (process.env.EXPRESS_CONNECTS_TO_RELAY === 'true') {
+ console.log('Connecting to relay on ' + process.env.RELAY_REMOTE)
+ relay = require('socket.io-client').connect(process.env.RELAY_REMOTE)
+ bind_relay(relay)
+} else {
+ relay = io.of('/relay')
+ relay.on('connect', bind_relay)
+}
+
+function bind_relay(socket) {
console.log('Relay connected')
socket.on('res', data => {
console.log('Received response', data.cmd)
@@ -38,11 +38,24 @@ relay.on('connect', socket => {
})
socket.on('frame', (data) => {
+ console.log('got frame')
client.volatile.emit('frame', data)
})
socket.on('disconnect', () => {
console.log("Relay disconnected")
})
-})
+}
+
+function bind_client(socket){
+ console.log('Client connected')
+ socket.on('cmd', data => {
+ console.log('Client sent command', data)
+ relay.emit('cmd', data)
+ })
+ socket.on('disconnect', () => {
+ console.log("Client disconnected")
+ })
+}
+
diff --git a/rpc/rpc.py b/rpc/rpc.py
index 4e87263..a375302 100644
--- a/rpc/rpc.py
+++ b/rpc/rpc.py
@@ -44,8 +44,8 @@ class CortexRPC(object):
return "working"
path = os.getenv('TEST_FRAMES_PATH')
onlyfiles = sorted([f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))])
-
self.fetching = True
+
for f in onlyfiles:
gevent.sleep(1/30)
output = BytesIO()
@@ -55,6 +55,8 @@ class CortexRPC(object):
frame = output.getvalue()
output.close()
self.send_frame(f.replace('png', 'jpg'), frame)
+
+ self.fetching = False
return "ok"
def send_param(self, key, value):