IOTConnect-Web/node_modules/mqtt-packet/benchmarks/generateNet.js
2024-05-09 09:49:52 +08:00

51 lines
992 B
JavaScript

const mqtt = require('../')
const max = 1000000
let i = 0
const start = Date.now()
let time
const buf = Buffer.allocUnsafe(10)
const net = require('net')
const server = net.createServer(handle)
let dest
buf.fill('test')
function handle (sock) {
sock.resume()
}
server.listen(0, () => {
dest = net.connect(server.address())
dest.on('connect', tickWait)
dest.on('drain', tickWait)
dest.on('finish', () => {
time = Date.now() - start
console.log('Total time', time)
console.log('Total packets', max)
console.log('Packet/s', max / time * 1000)
server.close()
})
})
function tickWait () {
// console.log('tickWait', i)
let res = true
// var toSend = new Buffer(5 + buf.length)
for (; i < max && res; i++) {
res = dest.write(mqtt.generate({
cmd: 'publish',
topic: 'test',
payload: buf
}))
// buf.copy(toSend, 5)
// res = dest.write(toSend, 'buffer')
// console.log(res)
}
if (i >= max) {
dest.end()
}
}