1 |
|
2 | const mqtt = require('../')
|
3 | const max = 1000000
|
4 | let i = 0
|
5 | const start = Date.now()
|
6 | let time
|
7 | const buf = Buffer.allocUnsafe(10)
|
8 | const net = require('net')
|
9 | const server = net.createServer(handle)
|
10 | let dest
|
11 |
|
12 | buf.fill('test')
|
13 |
|
14 | function handle (sock) {
|
15 | sock.resume()
|
16 | }
|
17 |
|
18 | server.listen(0, () => {
|
19 | dest = net.connect(server.address())
|
20 |
|
21 | dest.on('connect', tickWait)
|
22 | dest.on('drain', tickWait)
|
23 | dest.on('finish', () => {
|
24 | time = Date.now() - start
|
25 | console.log('Total time', time)
|
26 | console.log('Total packets', max)
|
27 | console.log('Packet/s', max / time * 1000)
|
28 | server.close()
|
29 | })
|
30 | })
|
31 |
|
32 | function tickWait () {
|
33 |
|
34 | let res = true
|
35 |
|
36 |
|
37 | for (; i < max && res; i++) {
|
38 | res = dest.write(mqtt.generate({
|
39 | cmd: 'publish',
|
40 | topic: 'test',
|
41 | payload: buf
|
42 | }))
|
43 |
|
44 |
|
45 |
|
46 | }
|
47 |
|
48 | if (i >= max) {
|
49 | dest.end()
|
50 | }
|
51 | }
|