UNPKG

cbs

Version:

Carlos's Buffer Serializer

25 lines (24 loc) 597 B
exports.serialize = function (buffers) { var parts = []; buffers.forEach(function (part) { var len = Buffer(4); if (typeof part === 'string') part = Buffer(part); len.writeUInt32BE(part.length, 0); parts.push(len, part); }); return Buffer.concat(parts); }; exports.unserialize = function (buf) { var parts = []; var l = buf.length, idx = 0; while (idx < l) { var dlen = buf.readUInt32BE(idx); idx += 4; var start = idx; var end = start + dlen; var part = buf.slice(start, end); parts.push(part); idx += part.length; } return parts; };