diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 29b3549ac1e803ae924fe959993a0599da0cba25..24ae7f5735a6f36c436a196cbee0cba40c8bc92c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -55,9 +55,9 @@ webserver-deploy: .build-windows: &build-windows - 'call vcvars64.bat' - - if not exist "../ftl_build" mkdir "../ftl_build" - - cd ../ftl_build - - cmake %CMAKE_ARGS% %CMAKE_ARGS_WINDOWS% -DREALSENSE_DIR="C:/Program Files (x86)/Intel RealSense SDK 2.0" -DOPENVR_DIR="C:/Program Files (x86)/OpenVRSDK" -DOPUS_DIR="C:/Program Files (x86)/Opus" ../ftl + - mkdir ./build + - cd ./build + - cmake %CMAKE_ARGS% %CMAKE_ARGS_WINDOWS% -DREALSENSE_DIR="C:/Program Files (x86)/Intel RealSense SDK 2.0" -DOPENVR_DIR="C:/Program Files (x86)/OpenVRSDK" -DOPUS_DIR="C:/Program Files (x86)/Opus" .. - devenv ftl.utu.fi.sln /build Release - rmdir /q /s "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%" - mkdir "%DEPLOY_DIR%/%CI_COMMIT_REF_SLUG%" diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js index baddc6e5ed6e15756101f67bb330fd84535f8be2..da2a904afb4ecf6d054fe3ac0cd18a57e0c6f95f 100644 --- a/web-service/server/src/index.js +++ b/web-service/server/src/index.js @@ -40,6 +40,18 @@ let peer_data = []; let cfg_to_peer = {}; +setInterval(() => { + for (x in peer_by_id) { + let p = peer_by_id[x]; + let start = (new Date()).getMilliseconds(); + p.rpc("__ping__", (ts) => { + let end = (new Date()).getMilliseconds(); + p.latency = (end-start) / 2; + console.log("Ping: ", p.latency, ts); + }); + } +}, 20000); + /** * A client stream request object. Each source maintains a list of clients who * are wanting frames from that source. Clients can only request N frames at a @@ -143,7 +155,8 @@ RGBDStream.prototype.pushFrames = function(latency, spacket, packet) { //console.log("Frame = ", packet[0], packet[1]); for (let i=0; i < this.clients.length; i++) { - this.clients[i].push(this.base_uri, latency, spacket, packet); + let l = latency+this.peer.latency+this.clients[i].peer.latency; + this.clients[i].push(this.base_uri, Math.ceil(l), spacket, packet); } /*let i=0; @@ -346,6 +359,8 @@ app.ws('/', (ws, req) => { for (let c in cfg_to_peer) { if (cfg_to_peer[c] === p) delete cfg_to_peer[c]; } + + // FIXME: Clear peer_data }); p.bind("new_peer", (id) => { diff --git a/web-service/server/src/peer.js b/web-service/server/src/peer.js index f55f522c35a503eb2224f406aa6333edc15dbb6a..86aa78eec1fd8d09181276b1d76a4f2620cf7d3b 100644 --- a/web-service/server/src/peer.js +++ b/web-service/server/src/peer.js @@ -35,6 +35,8 @@ function Peer(ws) { this.callbacks = {}; this.cbid = 0; + this.latency = 0; + this.uri = "unknown"; this.name = "unknown"; this.master = false;