From c3cef31974d4768ee4bea07f8b67e1a6f4331ed0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 11 May 2017 05:08:12 +0900 Subject: [PATCH] Refactor --- src/web/app/common/scripts/stream.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/web/app/common/scripts/stream.js b/src/web/app/common/scripts/stream.js index f6eaef372..ac3dd6715 100644 --- a/src/web/app/common/scripts/stream.js +++ b/src/web/app/common/scripts/stream.js @@ -1,7 +1,12 @@ +'use strict'; + const ReconnectingWebSocket = require('reconnecting-websocket'); import * as riot from 'riot'; import CONFIG from './config'; +/** + * Home stream connection + */ class Connection { constructor(me) { // BIND ----------------------------------- @@ -27,6 +32,10 @@ class Connection { this.on('i_updated', me.update); } + /** + * Callback of when open connection + * @private + */ onOpen() { this.state = 'connected'; this.trigger('_connected_'); @@ -39,11 +48,19 @@ class Connection { }); } + /** + * Callback of when close connection + * @private + */ onClose() { this.state = 'reconnecting'; this.trigger('_closed_'); } + /** + * Callback of when received a message from connection + * @private + */ onMessage(message) { try { const msg = JSON.parse(message.data); @@ -53,6 +70,10 @@ class Connection { } } + /** + * Send a message to connection + * @public + */ send(message) { // まだ接続が確立されていなかったらバッファリングして次に接続した時に送信する if (this.state != 'connected') { @@ -63,6 +84,10 @@ class Connection { this.socket.send(JSON.stringify(message)); } + /** + * Close this connection + * @public + */ close() { this.socket.removeEventListener('open', this.onOpen); this.socket.removeEventListener('message', this.onMessage);