Skip to content

Instantly share code, notes, and snippets.

@chamerling
Created June 6, 2014 16:20
Show Gist options
  • Save chamerling/19352cbcc1b217596d27 to your computer and use it in GitHub Desktop.
Save chamerling/19352cbcc1b217596d27 to your computer and use it in GitHub Desktop.
easyrtc custom server events
'use strict';
var easyrtc = require('easyrtc');
var config = require('../core').config('default');
var server = {
started: false,
pub: null
};
exports = module.exports = server;
var start = function(webserver, wsserver, callback) {
if (server.started) {
return callback();
}
if (!webserver || !wsserver) {
return callback(new Error('Webserver and Websocket server are required'));
}
var options = {
logLevel: config.webrtc.level ||  'info',
appDefaultName: 'OpenPaasRSE',
demosEnable: false
};
var onAuthenticate = require('./auth/token');
easyrtc.events.on('authenticate', onAuthenticate);
easyrtc.events.on('disconnect', function() {
console.log('------>>>>> Disconnect')
});
easyrtc.listen(webserver, wsserver, options, function(err, pub) {
if (err) {
return callback(err);
}
server.pub = pub;
server.started = true;
var connect = pub.events.defaultListeners.connection;
var disconnect = pub.events.defaultListeners.disconnect;
var roomJoin = pub.events.defaultListeners.roomJoin;
var roomLeave = pub.events.defaultListeners.roomLeave;
easyrtc.events.on('connection', function(socket, easyrtcid, next) {
console.log('------>>>>> Connection from easyrtcid', easyrtcid);
return connect(socket, easyrtcid, next);
});
easyrtc.events.on('disconnect', function(connectionObj, next) {
console.log('------>>>>> Disconnect from ', connectionObj.getEasyrtcid());
return disconnect(connectionObj, next);
});
easyrtc.events.on('roomJoin', function(connectionObj, roomName, roomParameter, callback) {
console.log('------>>>>> ROMM JOIN for ', connectionObj.getEasyrtcid());
return roomJoin(connectionObj, roomName, roomParameter, callback);
});
easyrtc.events.on('roomLeave', function(connectionObj, roomName, next) {
console.log('------>>>>> ROOM LEAVE for ', connectionObj.getEasyrtcid());
return roomLeave(connectionObj, roomName, next);
});
return callback();
});
};
server.start = start;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment