diff options
author | Marek Kotewicz <marek.kotewicz@gmail.com> | 2014-11-11 18:46:46 +0800 |
---|---|---|
committer | Marek Kotewicz <marek.kotewicz@gmail.com> | 2014-11-11 18:46:46 +0800 |
commit | 84b36a71939cfc6c673f0fd3fec079ca7e23df6c (patch) | |
tree | 3289a94dd8ffe0ad25dfff6d298204bb985bb07f /lib/websocket.js | |
parent | dea68f073e9a071e3e3940f7a467bf3cdc8d1992 (diff) | |
download | dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.tar dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.tar.gz dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.tar.bz2 dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.tar.lz dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.tar.xz dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.tar.zst dexon-84b36a71939cfc6c673f0fd3fec079ca7e23df6c.zip |
retabed files
Diffstat (limited to 'lib/websocket.js')
-rw-r--r-- | lib/websocket.js | 78 |
1 files changed, 40 insertions, 38 deletions
diff --git a/lib/websocket.js b/lib/websocket.js index 93d58aeba..0c7563062 100644 --- a/lib/websocket.js +++ b/lib/websocket.js @@ -16,59 +16,61 @@ */ /** @file websocket.js * @authors: + * Jeffrey Wilcke <jeff@ethdev.com> * Marek Kotewicz <marek@ethdev.com> * Marian Oancea <marian@ethdev.com> * @date 2014 */ -if(process.env.NODE_ENV !== "build") { +if (process.env.NODE_ENV !== "build") { var WebSocket = require('ws'); // jshint ignore:line } - var WebSocketProvider = function(host) { - // onmessage handlers - this.handlers = []; - // queue will be filled with messages if send is invoked before the ws is ready - this.queued = []; - this.ready = false; +var WebSocketProvider = function(host) { + // onmessage handlers + this.handlers = []; + // queue will be filled with messages if send is invoked before the ws is ready + this.queued = []; + this.ready = false; - this.ws = new WebSocket(host); + this.ws = new WebSocket(host); - var self = this; - this.ws.onmessage = function(event) { - for(var i = 0; i < self.handlers.length; i++) { - self.handlers[i].call(self, JSON.parse(event.data), event); - } - }; - - this.ws.onopen = function() { - self.ready = true; - - for(var i = 0; i < self.queued.length; i++) { - // Resend - self.send(self.queued[i]); - } - }; + var self = this; + this.ws.onmessage = function(event) { + for(var i = 0; i < self.handlers.length; i++) { + self.handlers[i].call(self, JSON.parse(event.data), event); + } }; - WebSocketProvider.prototype.send = function(payload) { - if(this.ready) { - var data = JSON.stringify(payload); - this.ws.send(data); - } else { - this.queued.push(payload); + this.ws.onopen = function() { + self.ready = true; + + for(var i = 0; i < self.queued.length; i++) { + // Resend + self.send(self.queued[i]); } }; +}; - WebSocketProvider.prototype.onMessage = function(handler) { - this.handlers.push(handler); - }; +WebSocketProvider.prototype.send = function(payload) { + if(this.ready) { + var data = JSON.stringify(payload); - WebSocketProvider.prototype.unload = function() { - this.ws.close(); - }; - Object.defineProperty(WebSocketProvider.prototype, "onmessage", { - set: function(provider) { this.onMessage(provider); } - }); + this.ws.send(data); + } else { + this.queued.push(payload); + } +}; + +WebSocketProvider.prototype.onMessage = function(handler) { + this.handlers.push(handler); +}; + +WebSocketProvider.prototype.unload = function() { + this.ws.close(); +}; +Object.defineProperty(WebSocketProvider.prototype, "onmessage", { + set: function(provider) { this.onMessage(provider); } +}); module.exports = WebSocketProvider; |