-
-
Save vunb/3fb08aa8911f23b2e394 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'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; | |
var roomCreate = pub.events.defaultListeners.roomCreate; | |
easyrtc.events.on('roomCreate', function(appObj, creatorConnectionObj, roomName, roomOptions, callback) { | |
console.log('------>>>>> ROOM CREATE ' + roomName); | |
return roomCreate(appObj, creatorConnectionObj, roomName, roomOptions, callback); | |
}); | |
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