mirror of
https://github.com/arnaucube/raspberryGPIOhtmlserver.git
synced 2026-02-08 04:06:43 +01:00
servidor funciona, gpio desabilitat
This commit is contained in:
144
node_modules/socket.io-adapter/index.js
generated
vendored
Executable file
144
node_modules/socket.io-adapter/index.js
generated
vendored
Executable file
@@ -0,0 +1,144 @@
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var keys = require('object-keys');
|
||||
var Emitter = require('events').EventEmitter;
|
||||
var parser = require('socket.io-parser');
|
||||
|
||||
/**
|
||||
* Module exports.
|
||||
*/
|
||||
|
||||
module.exports = Adapter;
|
||||
|
||||
/**
|
||||
* Memory adapter constructor.
|
||||
*
|
||||
* @param {Namespace} nsp
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function Adapter(nsp){
|
||||
this.nsp = nsp;
|
||||
this.rooms = {};
|
||||
this.sids = {};
|
||||
this.encoder = new parser.Encoder();
|
||||
}
|
||||
|
||||
/**
|
||||
* Inherits from `EventEmitter`.
|
||||
*/
|
||||
|
||||
Adapter.prototype.__proto__ = Emitter.prototype;
|
||||
|
||||
/**
|
||||
* Adds a socket from a room.
|
||||
*
|
||||
* @param {String} socket id
|
||||
* @param {String} room name
|
||||
* @param {Function} callback
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Adapter.prototype.add = function(id, room, fn){
|
||||
this.sids[id] = this.sids[id] || {};
|
||||
this.sids[id][room] = true;
|
||||
this.rooms[room] = this.rooms[room] || {};
|
||||
this.rooms[room][id] = true;
|
||||
if (fn) process.nextTick(fn.bind(null, null));
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes a socket from a room.
|
||||
*
|
||||
* @param {String} socket id
|
||||
* @param {String} room name
|
||||
* @param {Function} callback
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Adapter.prototype.del = function(id, room, fn){
|
||||
this.sids[id] = this.sids[id] || {};
|
||||
this.rooms[room] = this.rooms[room] || {};
|
||||
delete this.sids[id][room];
|
||||
delete this.rooms[room][id];
|
||||
if (this.rooms.hasOwnProperty(room) && !keys(this.rooms[room]).length) {
|
||||
delete this.rooms[room];
|
||||
}
|
||||
|
||||
if (fn) process.nextTick(fn.bind(null, null));
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes a socket from all rooms it's joined.
|
||||
*
|
||||
* @param {String} socket id
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Adapter.prototype.delAll = function(id, fn){
|
||||
var rooms = this.sids[id];
|
||||
if (rooms) {
|
||||
for (var room in rooms) {
|
||||
if (rooms.hasOwnProperty(room)) {
|
||||
delete this.rooms[room][id];
|
||||
}
|
||||
|
||||
if (this.rooms.hasOwnProperty(room) && !keys(this.rooms[room]).length) {
|
||||
delete this.rooms[room];
|
||||
}
|
||||
}
|
||||
}
|
||||
delete this.sids[id];
|
||||
};
|
||||
|
||||
/**
|
||||
* Broadcasts a packet.
|
||||
*
|
||||
* Options:
|
||||
* - `flags` {Object} flags for this packet
|
||||
* - `except` {Array} sids that should be excluded
|
||||
* - `rooms` {Array} list of rooms to broadcast to
|
||||
*
|
||||
* @param {Object} packet object
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Adapter.prototype.broadcast = function(packet, opts){
|
||||
var rooms = opts.rooms || [];
|
||||
var except = opts.except || [];
|
||||
var flags = opts.flags || {};
|
||||
var ids = {};
|
||||
var self = this;
|
||||
var socket;
|
||||
|
||||
packet.nsp = this.nsp.name;
|
||||
this.encoder.encode(packet, function(encodedPackets) {
|
||||
if (rooms.length) {
|
||||
for (var i = 0; i < rooms.length; i++) {
|
||||
var room = self.rooms[rooms[i]];
|
||||
if (!room) continue;
|
||||
for (var id in room) {
|
||||
if (room.hasOwnProperty(id)) {
|
||||
if (ids[id] || ~except.indexOf(id)) continue;
|
||||
socket = self.nsp.connected[id];
|
||||
if (socket) {
|
||||
socket.packet(encodedPackets, true, flags.volatile);
|
||||
ids[id] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (var id in self.sids) {
|
||||
if (self.sids.hasOwnProperty(id)) {
|
||||
if (~except.indexOf(id)) continue;
|
||||
socket = self.nsp.connected[id];
|
||||
if (socket) socket.packet(encodedPackets, true, flags.volatile);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user