From 7376cd7d2b199710d341e007f5229432ec41637f Mon Sep 17 00:00:00 2001
From: Sami Spets <savasp@utu.fi>
Date: Mon, 4 Nov 2019 12:53:39 +0200
Subject: [PATCH] before merge

---
 .gitignore                                 |   1 +
 web-service/server/src/index.js            |   9 +-
 web-service/server/src/peer.js             |   8 +-
 web-service/server/src/public/js/bundle.js | 183 +++++++++++----------
 web-service/server/src/public/js/index.js  |   9 +-
 5 files changed, 114 insertions(+), 96 deletions(-)

diff --git a/.gitignore b/.gitignore
index 1e2b94708..b0ef7e327 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,5 @@ lab-designs/viewer
 .vscode
 doc/
 web-service/npm-debug.log
+web-service/server/npm-debug.log
 web-service/server/src/passport/keys.js
diff --git a/web-service/server/src/index.js b/web-service/server/src/index.js
index 502a2d11c..20d60562a 100644
--- a/web-service/server/src/index.js
+++ b/web-service/server/src/index.js
@@ -408,7 +408,6 @@ app.ws('/', (ws, req) => {
 
 	// Used to sync clocks
 	p.bind("__ping__", () => {
-		console.log(peer_data)
 		return Date.now();
 	});
 
@@ -458,10 +457,14 @@ app.ws('/', (ws, req) => {
 
 	// Request from frames from a source
 	p.bind("get_stream", (uri, N, rate, /*pid,*/ dest) => {
-		let peer = uri_data[uri].peer;
+		const realURI = decodeURIComponent(uri);
+		const destination = decodeURIComponent(dest);
+		console.log("URI IS ", uri);
+		console.log("URI_DATA IS ", uri_data[realURI].peer)
+		let peer = uri_data[realURI].peer;
 		console.log('PEER', peer);
 		if (peer) {
-			uri_data[uri].addClient(p, N, rate, dest);
+			uri_data[realURI].addClient(p, N, rate, destination);
 			//peer.send("get_stream", uri, N, rate, [Peer.uuid], dest);
 		}
 	});
diff --git a/web-service/server/src/peer.js b/web-service/server/src/peer.js
index 53f1fb79e..630e94e7c 100644
--- a/web-service/server/src/peer.js
+++ b/web-service/server/src/peer.js
@@ -76,8 +76,8 @@ function Peer(ws) {
 	//if undefined, peer is being used by client
 	if(this.sock.on === undefined){
 		this.sock.onmessage = message;
+		this.sock.onclose = close;
 		this.sock.onopen = (event) => {
-			console.log("piippiip")
 			this.send("__handshake__", kMagic, kVersion, [my_uuid]);
 		}
 	//else peer is being used by server
@@ -85,7 +85,6 @@ function Peer(ws) {
 		this.sock.on("message", message);
 		this.sock.on("close", close);
 		this.sock.on("error", error);
-		this.send("__handshake__", kMagic, kVersion, [my_uuid]);
 	}
 
 	this.bind("__handshake__", (magic, version, id) => {
@@ -95,12 +94,15 @@ function Peer(ws) {
 			this.id = id.buffer;
 			this.string_id  = id.toString('hex');
 			this._notify("connect", this);
+			// if(this.sock.on === undefined){
+			// 	this.send("__handshake__", kMagic, kVersion, [my_uuid]);
+			// }
 		} else {
 			console.log("Magic does not match");
 			this.close();
 		}
 	});
-	// this.send("__handshake__", kMagic, kVersion, [my_uuid]);
+	this.send("__handshake__", kMagic, kVersion, [my_uuid]);
 }		
 
 
diff --git a/web-service/server/src/public/js/bundle.js b/web-service/server/src/public/js/bundle.js
index b52014ba1..ffcb9f6c0 100644
--- a/web-service/server/src/public/js/bundle.js
+++ b/web-service/server/src/public/js/bundle.js
@@ -383,7 +383,7 @@ BufferList.prototype._match = function(offset, search) {
 
 module.exports = BufferList
 
-},{"readable-stream":18,"safe-buffer":19,"util":39}],2:[function(require,module,exports){
+},{"readable-stream":19,"safe-buffer":20,"util":39}],2:[function(require,module,exports){
 (function (Buffer){
 // Copyright Joyent, Inc. and other Node contributors.
 //
@@ -493,8 +493,8 @@ function objectToString(o) {
   return Object.prototype.toString.call(o);
 }
 
-}).call(this,{"isBuffer":require("../../../../../../../../../usr/local/lib/node_modules/watchify/node_modules/is-buffer/index.js")})
-},{"../../../../../../../../../usr/local/lib/node_modules/watchify/node_modules/is-buffer/index.js":33}],3:[function(require,module,exports){
+}).call(this,{"isBuffer":require("../../../../../../../../../usr/local/lib/node_modules/browserify/node_modules/is-buffer/index.js")})
+},{"../../../../../../../../../usr/local/lib/node_modules/browserify/node_modules/is-buffer/index.js":33}],3:[function(require,module,exports){
 if (typeof Object.create === 'function') {
   // implementation from standard node.js 'util' module
   module.exports = function inherits(ctor, superCtor) {
@@ -613,7 +613,7 @@ function msgpack (options) {
 
 module.exports = msgpack
 
-},{"./lib/decoder":6,"./lib/encoder":7,"./lib/streams":8,"assert":24,"bl":1,"safe-buffer":19}],6:[function(require,module,exports){
+},{"./lib/decoder":6,"./lib/encoder":7,"./lib/streams":8,"assert":24,"bl":1,"safe-buffer":20}],6:[function(require,module,exports){
 'use strict'
 
 var bl = require('bl')
@@ -1396,7 +1396,7 @@ function encodeFloat (obj, forceFloat64) {
   return buf
 }
 
-},{"bl":1,"safe-buffer":19}],8:[function(require,module,exports){
+},{"bl":1,"safe-buffer":20}],8:[function(require,module,exports){
 'use strict'
 
 var Transform = require('readable-stream').Transform
@@ -1488,7 +1488,7 @@ Decoder.prototype._transform = function (buf, enc, done) {
 module.exports.decoder = Decoder
 module.exports.encoder = Encoder
 
-},{"bl":1,"inherits":3,"readable-stream":18}],9:[function(require,module,exports){
+},{"bl":1,"inherits":3,"readable-stream":19}],9:[function(require,module,exports){
 (function (process){
 'use strict';
 
@@ -2739,7 +2739,7 @@ function indexOf(xs, x) {
   return -1;
 }
 }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./_stream_duplex":10,"./internal/streams/BufferList":15,"./internal/streams/destroy":16,"./internal/streams/stream":17,"_process":35,"core-util-is":2,"events":31,"inherits":3,"isarray":4,"process-nextick-args":9,"safe-buffer":19,"string_decoder/":20,"util":29}],13:[function(require,module,exports){
+},{"./_stream_duplex":10,"./internal/streams/BufferList":15,"./internal/streams/destroy":16,"./internal/streams/stream":17,"_process":35,"core-util-is":2,"events":31,"inherits":3,"isarray":4,"process-nextick-args":9,"safe-buffer":20,"string_decoder/":18,"util":29}],13:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -3644,7 +3644,7 @@ Writable.prototype._destroy = function (err, cb) {
   cb(err);
 };
 }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("timers").setImmediate)
-},{"./_stream_duplex":10,"./internal/streams/destroy":16,"./internal/streams/stream":17,"_process":35,"core-util-is":2,"inherits":3,"process-nextick-args":9,"safe-buffer":19,"timers":36,"util-deprecate":21}],15:[function(require,module,exports){
+},{"./_stream_duplex":10,"./internal/streams/destroy":16,"./internal/streams/stream":17,"_process":35,"core-util-is":2,"inherits":3,"process-nextick-args":9,"safe-buffer":20,"timers":36,"util-deprecate":21}],15:[function(require,module,exports){
 'use strict';
 
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -3724,7 +3724,7 @@ if (util && util.inspect && util.inspect.custom) {
     return this.constructor.name + ' ' + obj;
   };
 }
-},{"safe-buffer":19,"util":29}],16:[function(require,module,exports){
+},{"safe-buffer":20,"util":29}],16:[function(require,module,exports){
 'use strict';
 
 /*<replacement>*/
@@ -3803,79 +3803,6 @@ module.exports = {
 module.exports = require('events').EventEmitter;
 
 },{"events":31}],18:[function(require,module,exports){
-exports = module.exports = require('./lib/_stream_readable.js');
-exports.Stream = exports;
-exports.Readable = exports;
-exports.Writable = require('./lib/_stream_writable.js');
-exports.Duplex = require('./lib/_stream_duplex.js');
-exports.Transform = require('./lib/_stream_transform.js');
-exports.PassThrough = require('./lib/_stream_passthrough.js');
-
-},{"./lib/_stream_duplex.js":10,"./lib/_stream_passthrough.js":11,"./lib/_stream_readable.js":12,"./lib/_stream_transform.js":13,"./lib/_stream_writable.js":14}],19:[function(require,module,exports){
-/* eslint-disable node/no-deprecated-api */
-var buffer = require('buffer')
-var Buffer = buffer.Buffer
-
-// alternative to using Object.keys for old browsers
-function copyProps (src, dst) {
-  for (var key in src) {
-    dst[key] = src[key]
-  }
-}
-if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
-  module.exports = buffer
-} else {
-  // Copy properties from require('buffer')
-  copyProps(buffer, exports)
-  exports.Buffer = SafeBuffer
-}
-
-function SafeBuffer (arg, encodingOrOffset, length) {
-  return Buffer(arg, encodingOrOffset, length)
-}
-
-// Copy static methods from Buffer
-copyProps(Buffer, SafeBuffer)
-
-SafeBuffer.from = function (arg, encodingOrOffset, length) {
-  if (typeof arg === 'number') {
-    throw new TypeError('Argument must not be a number')
-  }
-  return Buffer(arg, encodingOrOffset, length)
-}
-
-SafeBuffer.alloc = function (size, fill, encoding) {
-  if (typeof size !== 'number') {
-    throw new TypeError('Argument must be a number')
-  }
-  var buf = Buffer(size)
-  if (fill !== undefined) {
-    if (typeof encoding === 'string') {
-      buf.fill(fill, encoding)
-    } else {
-      buf.fill(fill)
-    }
-  } else {
-    buf.fill(0)
-  }
-  return buf
-}
-
-SafeBuffer.allocUnsafe = function (size) {
-  if (typeof size !== 'number') {
-    throw new TypeError('Argument must be a number')
-  }
-  return Buffer(size)
-}
-
-SafeBuffer.allocUnsafeSlow = function (size) {
-  if (typeof size !== 'number') {
-    throw new TypeError('Argument must be a number')
-  }
-  return buffer.SlowBuffer(size)
-}
-
-},{"buffer":30}],20:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -4172,7 +4099,80 @@ function simpleWrite(buf) {
 function simpleEnd(buf) {
   return buf && buf.length ? this.write(buf) : '';
 }
-},{"safe-buffer":19}],21:[function(require,module,exports){
+},{"safe-buffer":20}],19:[function(require,module,exports){
+exports = module.exports = require('./lib/_stream_readable.js');
+exports.Stream = exports;
+exports.Readable = exports;
+exports.Writable = require('./lib/_stream_writable.js');
+exports.Duplex = require('./lib/_stream_duplex.js');
+exports.Transform = require('./lib/_stream_transform.js');
+exports.PassThrough = require('./lib/_stream_passthrough.js');
+
+},{"./lib/_stream_duplex.js":10,"./lib/_stream_passthrough.js":11,"./lib/_stream_readable.js":12,"./lib/_stream_transform.js":13,"./lib/_stream_writable.js":14}],20:[function(require,module,exports){
+/* eslint-disable node/no-deprecated-api */
+var buffer = require('buffer')
+var Buffer = buffer.Buffer
+
+// alternative to using Object.keys for old browsers
+function copyProps (src, dst) {
+  for (var key in src) {
+    dst[key] = src[key]
+  }
+}
+if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
+  module.exports = buffer
+} else {
+  // Copy properties from require('buffer')
+  copyProps(buffer, exports)
+  exports.Buffer = SafeBuffer
+}
+
+function SafeBuffer (arg, encodingOrOffset, length) {
+  return Buffer(arg, encodingOrOffset, length)
+}
+
+// Copy static methods from Buffer
+copyProps(Buffer, SafeBuffer)
+
+SafeBuffer.from = function (arg, encodingOrOffset, length) {
+  if (typeof arg === 'number') {
+    throw new TypeError('Argument must not be a number')
+  }
+  return Buffer(arg, encodingOrOffset, length)
+}
+
+SafeBuffer.alloc = function (size, fill, encoding) {
+  if (typeof size !== 'number') {
+    throw new TypeError('Argument must be a number')
+  }
+  var buf = Buffer(size)
+  if (fill !== undefined) {
+    if (typeof encoding === 'string') {
+      buf.fill(fill, encoding)
+    } else {
+      buf.fill(fill)
+    }
+  } else {
+    buf.fill(0)
+  }
+  return buf
+}
+
+SafeBuffer.allocUnsafe = function (size) {
+  if (typeof size !== 'number') {
+    throw new TypeError('Argument must be a number')
+  }
+  return Buffer(size)
+}
+
+SafeBuffer.allocUnsafeSlow = function (size) {
+  if (typeof size !== 'number') {
+    throw new TypeError('Argument must be a number')
+  }
+  return buffer.SlowBuffer(size)
+}
+
+},{"buffer":30}],21:[function(require,module,exports){
 (function (global){
 
 /**
@@ -4323,8 +4323,8 @@ function Peer(ws) {
 	//if undefined, peer is being used by client
 	if(this.sock.on === undefined){
 		this.sock.onmessage = message;
+		this.sock.onclose = close;
 		this.sock.onopen = (event) => {
-			console.log("piippiip")
 			this.send("__handshake__", kMagic, kVersion, [my_uuid]);
 		}
 	//else peer is being used by server
@@ -4332,7 +4332,6 @@ function Peer(ws) {
 		this.sock.on("message", message);
 		this.sock.on("close", close);
 		this.sock.on("error", error);
-		this.send("__handshake__", kMagic, kVersion, [my_uuid]);
 	}
 
 	this.bind("__handshake__", (magic, version, id) => {
@@ -4342,12 +4341,15 @@ function Peer(ws) {
 			this.id = id.buffer;
 			this.string_id  = id.toString('hex');
 			this._notify("connect", this);
+			// if(this.sock.on === undefined){
+			// 	this.send("__handshake__", kMagic, kVersion, [my_uuid]);
+			// }
 		} else {
 			console.log("Magic does not match");
 			this.close();
 		}
 	});
-	// this.send("__handshake__", kMagic, kVersion, [my_uuid]);
+	this.send("__handshake__", kMagic, kVersion, [my_uuid]);
 }		
 
 
@@ -4672,8 +4674,13 @@ createPeer = () => {
  * 
  * */
 connectToStream = () => {
-    const data = peer.send("node_details")
-    console.log(data);
+    // const data = peer.send("__ping__")
+    const data = peer.send("get_stream", (current_data.uri, 10, 0, current_data.uri))
+    // closeStream();
+}
+
+closeStream = () => {
+    peer.sock.close()
 }
 
 const cardLogic = () => {
diff --git a/web-service/server/src/public/js/index.js b/web-service/server/src/public/js/index.js
index ba0cb620f..aea83f321 100644
--- a/web-service/server/src/public/js/index.js
+++ b/web-service/server/src/public/js/index.js
@@ -154,8 +154,13 @@ createPeer = () => {
  * 
  * */
 connectToStream = () => {
-    const data = peer.send("node_details")
-    console.log(data);
+    // const data = peer.send("__ping__")
+    const data = peer.send("get_stream", (current_data.uri, 10, 0, current_data.uri))
+    // closeStream();
+}
+
+closeStream = () => {
+    peer.close()
 }
 
 const cardLogic = () => {
-- 
GitLab