refactor(socket) add proto

This commit is contained in:
coderaiser 2014-01-27 03:12:17 -05:00
parent da98946873
commit 544e453364

View file

@ -1,91 +1,96 @@
/* module make possible connectoin thrue socket.io on a client */
var CloudCmd, Util, DOM, io;
(function(CloudCmd, Util, DOM) {
'use strict';
var Messages = [],
socket,
Terminal,
CloudCmd.Socket = new SocketProto(CloudCmd, Util, DOM);
ERROR_MSG = 'could not connect to socket.io\n'+
'npm i socket.io';
DOM.jsload('/socket.io/lib/socket.io.js', {
onerror : Util.retFunc(Util.log, ERROR_MSG),
onload : connect
});
function connect() {
var FIVE_SECONDS = 5000;
socket = io.connect(CloudCmd.HOST, {
'max reconnection attempts' : Math.pow(2, 32),
'reconnection limit' : FIVE_SECONDS
});
CloudCmd.Socket = socket;
socket.on('connect', function () {
outToTerminal({stdout: 'socket connected\n'});
});
socket.on('message', function (msg) {
var lMsg = Util.parseJSON(msg);
function SocketProto(CloudCmd, Util, DOM) {
var Messages = [],
socket,
Terminal,
outToTerminal(lMsg);
ERROR_MSG = 'could not connect to socket.io\n'+
'npm i socket.io';
DOM.jsload('/socket.io/lib/socket.io.js', {
onerror : Util.retFunc(Util.log, ERROR_MSG),
onload : connect
});
socket.on('disconnect', function () {
outToTerminal({stderr: 'socket disconected\n'});
});
socket.on('reconnect_failed', function () {
Util.log('Could not reconnect. Reload page.');
});
}
function outToTerminal(pMsg) {
var i, n, lResult, lStdout, lStderr,
lConsole = CloudCmd.Console;
DOM.Images.hideLoad();
if (Util.isObject(lConsole)) {
if (Messages.length) {
/* show oll msg from buffer */
for (i = 0, n = Messages.length; i < n; i++) {
lStdout = Messages[i].stdout;
lStderr = Messages[i].stderr;
if (lStdout)
lConsole.log(lStdout);
if (lStderr) {
/* if it's object - convert is to string' */
if (Util.isObject(lStderr))
lStderr = Util.stringifyJSON(lStderr);
lConsole.error(lStderr);
}
}
Messages = [];
}
function connect() {
var FIVE_SECONDS = 5000;
lStdout = pMsg.stdout;
lStderr = pMsg.stderr;
socket = io.connect(CloudCmd.HOST, {
'max reconnection attempts' : Math.pow(2, 32),
'reconnection limit' : FIVE_SECONDS
});
if (lStdout)
lResult = lConsole.log(lStdout);
if (lStderr)
lResult = lConsole.error(lStderr);
CloudCmd.Socket = socket;
socket.on('connect', function () {
outToTerminal({stdout: 'socket connected\n'});
});
socket.on('message', function (msg) {
var lMsg = Util.parseJSON(msg);
outToTerminal(lMsg);
});
socket.on('disconnect', function () {
outToTerminal({stderr: 'socket disconected\n'});
});
socket.on('reconnect_failed', function () {
Util.log('Could not reconnect. Reload page.');
});
}
function outToTerminal(pMsg) {
var i, n, lResult, lStdout, lStderr,
lConsole = CloudCmd.Console;
DOM.Images.hideLoad();
if (Util.isObject(lConsole)) {
if (Messages.length) {
/* show oll msg from buffer */
for (i = 0, n = Messages.length; i < n; i++) {
lStdout = Messages[i].stdout;
lStderr = Messages[i].stderr;
if (lStdout)
lConsole.log(lStdout);
if (lStderr) {
/* if it's object - convert is to string' */
if (Util.isObject(lStderr))
lStderr = Util.stringifyJSON(lStderr);
lConsole.error(lStderr);
}
}
Messages = [];
}
lStdout = pMsg.stdout;
lStderr = pMsg.stderr;
if (lStdout)
lResult = lConsole.log(lStdout);
if (lStderr)
lResult = lConsole.error(lStderr);
}
else
Messages.push(pMsg);
Util.log(pMsg);
return lResult;
}
else
Messages.push(pMsg);
Util.log(pMsg);
return lResult;
}
})(CloudCmd, Util, DOM);
})(CloudCmd, Util, DOM);