const utils = require('../utils');
const log = require('../utils/log').create_logger("WSS");
const broadcast = require('./broadcast');
const watchrooms = require('../utils/watchrooms');
module.exports = {
log: log,
server_update_state: function(video_id, state) {
let invokeAt = Date.now() + watchrooms.get_invoke_delay(video_id);
broadcast({
command: "set-client-video-state",
data: {
state: watchrooms.update_video(video_id, Object.assign({
invoked_by: "server"
}, state), invokeAt),
invoke_at: invokeAt
}
}, watchrooms.get(video_id).viewers);
},
handle_err: {
res: function(respond, default_error_message) {
return utils.handle_err.res({
send: respond
}, default_error_message);
}
},
broadcast_storage: function(users) {
return utils.get_storage_remaining().then(function(bytes) {
broadcast({
command: "server-storage-info",
data: bytes
}, users);
}).catch(log.general.error);
}
};