UNPKG

concepto-bridge

Version:

Concepto DSL - Live Mode Bridge

71 lines (70 loc) 2.26 kB
//tishadow_socket helper var io = require("socket.io-client"), logger = require('./logger.js'); var config = { host: '127.0.0.1', port: 3000, room: 'default', socket: { 'reconnection' : true, 'reconnectionDelay' : 1000, 'reconnectionDelayMax' : 5000, 'reconnectionAttempts' : 50, 'force new connection' : true } }; exports.connect = function(onconnect, onmessage, onfail) { var socket = io.connect('http://'+config.host+':'+config.port, config.socket); var running = 0; socket.on('connect', function(data) { socket.emit("join", {name: 'controller', room: config.room}); if (onconnect && typeof onconnect === 'function') { onconnect(socket); } }); socket.on('reconnect', function(e){ logger.log("WARN", e.name, "Reconnect"); }); socket.on('reconnecting', function(e){ logger.log("WARN", e.name, "Reconnecting"); }); socket.on('connect_error', function(e){ logger.log("ERROR", e.name, "Connect Failed"); console.log(e); if (onfail && typeof onfail === 'function') { onfail(socket); } }); socket.on('device_connect', function(e){ running = running++; logger.log("INFO", e.name, "Connected"); }); socket.on('device_disconnect', function(e){ running = running--; logger.log("WARN", e.name,"Disconnected"); }); socket.on('device_log', function(data) { if (data.message.match("Runner Finished$")) { running--; if (running <= 0) { running = 0; /*if (config.runCoverage){ coverage = require("./coverage"); coverage.addUnRequiredCoverage(); var coverageReportDir = path.join(config.tishadow_coverage, data.name.replace(/(, |\.)/g, "_")); coverage.writeReports(coverageReportDir, config.runCoverage); logger.log("INFO", "COVER","Check the report on " + coverageReportDir + " directory"); }*/ socket.disconnect(); } } else if (data.level !=="INSPECT") { if (onmessage && typeof onmessage === 'function') { onmessage(data.message); } logger.log(data.level, data.name, data.message); } }); socket.on('connect_failed', function(data) { logger.error("connect_failed: " + data); }); return socket; };