增加晶全app静态页面
This commit is contained in:
58
node_modules/mqtt-packet/numbers.js
generated
vendored
Normal file
58
node_modules/mqtt-packet/numbers.js
generated
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
const max = 65536
|
||||
const cache = {}
|
||||
|
||||
// in node 6 Buffer.subarray returns a Uint8Array instead of a Buffer
|
||||
// later versions return a Buffer
|
||||
// alternative is Buffer.slice but that creates a new buffer
|
||||
// creating new buffers takes time
|
||||
// SubOk is only false on node < 8
|
||||
const SubOk = Buffer.isBuffer(Buffer.from([1, 2]).subarray(0, 1))
|
||||
|
||||
function generateBuffer (i) {
|
||||
const buffer = Buffer.allocUnsafe(2)
|
||||
buffer.writeUInt8(i >> 8, 0)
|
||||
buffer.writeUInt8(i & 0x00FF, 0 + 1)
|
||||
|
||||
return buffer
|
||||
}
|
||||
|
||||
function generateCache () {
|
||||
for (let i = 0; i < max; i++) {
|
||||
cache[i] = generateBuffer(i)
|
||||
}
|
||||
}
|
||||
|
||||
function genBufVariableByteInt (num) {
|
||||
const maxLength = 4 // max 4 bytes
|
||||
let digit = 0
|
||||
let pos = 0
|
||||
const buffer = Buffer.allocUnsafe(maxLength)
|
||||
|
||||
do {
|
||||
digit = num % 128 | 0
|
||||
num = num / 128 | 0
|
||||
if (num > 0) digit = digit | 0x80
|
||||
|
||||
buffer.writeUInt8(digit, pos++)
|
||||
} while (num > 0 && pos < maxLength)
|
||||
|
||||
if (num > 0) {
|
||||
pos = 0
|
||||
}
|
||||
|
||||
return SubOk ? buffer.subarray(0, pos) : buffer.slice(0, pos)
|
||||
}
|
||||
|
||||
function generate4ByteBuffer (num) {
|
||||
const buffer = Buffer.allocUnsafe(4)
|
||||
buffer.writeUInt32BE(num, 0)
|
||||
return buffer
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
cache,
|
||||
generateCache,
|
||||
generateNumber: generateBuffer,
|
||||
genBufVariableByteInt,
|
||||
generate4ByteBuffer
|
||||
}
|
Reference in New Issue
Block a user