mirror of
https://github.com/hanzoai/bufferutil.git
synced 2026-09-24 16:57:30 +00:00
31 lines
768 B
JavaScript
31 lines
768 B
JavaScript
/*!
|
|
* bufferutil: WebSocket buffer utils
|
|
* Copyright(c) 2015 Einar Otto Stangvik <[email protected]>
|
|
* MIT Licensed
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
exports.BufferUtil = {
|
|
merge: function (mergedBuffer, buffers) {
|
|
var offset = 0;
|
|
for (var i = 0, l = buffers.length; i < l; ++i) {
|
|
var buf = buffers[i];
|
|
buf.copy(mergedBuffer, offset);
|
|
offset += buf.length;
|
|
}
|
|
},
|
|
mask: function (source, mask, output, offset, length) {
|
|
for (var i = 0; i < length; i++) {
|
|
output[offset + i] = source[i] ^ mask[i & 3];
|
|
}
|
|
},
|
|
unmask: function (data, mask) {
|
|
// required until https://github.com/nodejs/node/issues/9006 is resolved
|
|
var length = data.length;
|
|
for (var i = 0; i < length; i++) {
|
|
data[i] ^= mask[i & 3];
|
|
}
|
|
}
|
|
};
|