WebSocketResource exposes socket.close()
Allows for simplification of the keepalive construct.
This commit is contained in:
parent
98edd3939b
commit
8170a7baae
5 changed files with 16 additions and 10 deletions
|
@ -38565,6 +38565,10 @@ TextSecureWebSocket = function (url, opts) {
|
||||||
return new OutgoingWebSocketRequest(options, socket);
|
return new OutgoingWebSocketRequest(options, socket);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.close = function() {
|
||||||
|
socket.close(3000);
|
||||||
|
};
|
||||||
|
|
||||||
socket.onmessage = function(socketMessage) {
|
socket.onmessage = function(socketMessage) {
|
||||||
var blob = socketMessage.data;
|
var blob = socketMessage.data;
|
||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
|
@ -38621,10 +38625,9 @@ TextSecureWebSocket = function (url, opts) {
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function KeepAlive(websocketResource, socket) {
|
function KeepAlive(websocketResource) {
|
||||||
if (websocketResource instanceof WebSocketResource) {
|
if (websocketResource instanceof WebSocketResource) {
|
||||||
this.wsr = websocketResource;
|
this.wsr = websocketResource;
|
||||||
this.socket = socket;
|
|
||||||
this.reset();
|
this.reset();
|
||||||
} else {
|
} else {
|
||||||
throw new TypeError('KeepAlive expected a WebSocketResource');
|
throw new TypeError('KeepAlive expected a WebSocketResource');
|
||||||
|
@ -38637,7 +38640,7 @@ KeepAlive.prototype = {
|
||||||
clearTimeout(this.keepAliveTimer);
|
clearTimeout(this.keepAliveTimer);
|
||||||
clearTimeout(this.disconnectTimer);
|
clearTimeout(this.disconnectTimer);
|
||||||
this.keepAliveTimer = setTimeout(function() {
|
this.keepAliveTimer = setTimeout(function() {
|
||||||
this.disconnectTimer = setTimeout(this.socket.close, 10000);
|
this.disconnectTimer = setTimeout(this.wsr.close, 5000);
|
||||||
this.wsr.sendRequest({
|
this.wsr.sendRequest({
|
||||||
verb: 'GET',
|
verb: 'GET',
|
||||||
path: '/v1/keepalive',
|
path: '/v1/keepalive',
|
||||||
|
@ -39393,7 +39396,7 @@ TextSecureServer = function () {
|
||||||
console.log('Unknown websocket message', request.path);
|
console.log('Unknown websocket message', request.path);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
new KeepAlive(wsr, socket);
|
new KeepAlive(wsr);
|
||||||
});
|
});
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return generateKeys(100, progressCallback);
|
return generateKeys(100, progressCallback);
|
||||||
|
@ -39541,7 +39544,7 @@ function generateKeys(count, progressCallback) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.wsr = new WebSocketResource(this.socket, this.handleRequest.bind(this));
|
this.wsr = new WebSocketResource(this.socket, this.handleRequest.bind(this));
|
||||||
this.keepalive = new KeepAlive(this.wsr, this.socket);
|
this.keepalive = new KeepAlive(this.wsr);
|
||||||
|
|
||||||
},
|
},
|
||||||
handleRequest: function(request) {
|
handleRequest: function(request) {
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
console.log('Unknown websocket message', request.path);
|
console.log('Unknown websocket message', request.path);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
new KeepAlive(wsr, socket);
|
new KeepAlive(wsr);
|
||||||
});
|
});
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
return generateKeys(100, progressCallback);
|
return generateKeys(100, progressCallback);
|
||||||
|
|
|
@ -14,10 +14,9 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function KeepAlive(websocketResource, socket) {
|
function KeepAlive(websocketResource) {
|
||||||
if (websocketResource instanceof WebSocketResource) {
|
if (websocketResource instanceof WebSocketResource) {
|
||||||
this.wsr = websocketResource;
|
this.wsr = websocketResource;
|
||||||
this.socket = socket;
|
|
||||||
this.reset();
|
this.reset();
|
||||||
} else {
|
} else {
|
||||||
throw new TypeError('KeepAlive expected a WebSocketResource');
|
throw new TypeError('KeepAlive expected a WebSocketResource');
|
||||||
|
@ -30,7 +29,7 @@ KeepAlive.prototype = {
|
||||||
clearTimeout(this.keepAliveTimer);
|
clearTimeout(this.keepAliveTimer);
|
||||||
clearTimeout(this.disconnectTimer);
|
clearTimeout(this.disconnectTimer);
|
||||||
this.keepAliveTimer = setTimeout(function() {
|
this.keepAliveTimer = setTimeout(function() {
|
||||||
this.disconnectTimer = setTimeout(this.socket.close, 10000);
|
this.disconnectTimer = setTimeout(this.wsr.close, 5000);
|
||||||
this.wsr.sendRequest({
|
this.wsr.sendRequest({
|
||||||
verb: 'GET',
|
verb: 'GET',
|
||||||
path: '/v1/keepalive',
|
path: '/v1/keepalive',
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.wsr = new WebSocketResource(this.socket, this.handleRequest.bind(this));
|
this.wsr = new WebSocketResource(this.socket, this.handleRequest.bind(this));
|
||||||
this.keepalive = new KeepAlive(this.wsr, this.socket);
|
this.keepalive = new KeepAlive(this.wsr);
|
||||||
|
|
||||||
},
|
},
|
||||||
handleRequest: function(request) {
|
handleRequest: function(request) {
|
||||||
|
|
|
@ -97,6 +97,10 @@
|
||||||
return new OutgoingWebSocketRequest(options, socket);
|
return new OutgoingWebSocketRequest(options, socket);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.close = function() {
|
||||||
|
socket.close(3000);
|
||||||
|
};
|
||||||
|
|
||||||
socket.onmessage = function(socketMessage) {
|
socket.onmessage = function(socketMessage) {
|
||||||
var blob = socketMessage.data;
|
var blob = socketMessage.data;
|
||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
|
|
Loading…
Reference in a new issue