52 lines
993 B
JavaScript
52 lines
993 B
JavaScript
|
|
var mqtt = require('../')
|
|
var max = 1000000
|
|
var i = 0
|
|
var start = Date.now()
|
|
var time
|
|
var buf = Buffer.allocUnsafe(10)
|
|
var net = require('net')
|
|
var server = net.createServer(handle)
|
|
var dest
|
|
|
|
buf.fill('test')
|
|
|
|
function handle (sock) {
|
|
sock.resume()
|
|
}
|
|
|
|
server.listen(0, function () {
|
|
dest = net.connect(server.address())
|
|
|
|
dest.on('connect', tickWait)
|
|
dest.on('drain', tickWait)
|
|
dest.on('finish', function () {
|
|
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)
|
|
var 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()
|
|
}
|
|
}
|