lwm2m
Version:
Library for developing servers and client of OMA Lightweight M2M
52 lines (45 loc) • 1.39 kB
JavaScript
/*
* Copyright 2014 Telefonica Investigación y Desarrollo, S.A.U
*
* This file is part of node-lwm2m
*
* node-lwm2m is free software: you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
*
* node-lwm2m is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with node-lwm2m.
* If not, seehttp://www.gnu.org/licenses/.
*
* For those usages not covered by the GNU Affero General Public License
* please contact with::[contacto@tid.es]
*/
;
function createSlidingWindow(size) {
var window = {
data: new Array(size),
header: 0,
};
function containNumber(number) {
if (window.data.indexOf(number) < 0) {
return false;
} else {
return true;
}
}
function pushNumber(number) {
window.data[window.header] = number;
window.header = (window.header++)%window.data.length;
}
return {
contains: containNumber,
push: pushNumber,
};
}
module.exports = createSlidingWindow;