UNPKG

900 BJavaScriptView Raw
1exports.connectAll = connectAll
2exports.ackAll = ackAll
3exports.pubAll = pubAll
4
5var parallel = require('run-parallel')
6
7function connectAll(clients, url, done) {
8 parallel(clients.map(function(client) {
9 return function (cb) {
10 client.on('open', function() {
11 client.send('sub ' + url)
12 cb()
13 })
14 }
15 }), done)
16}
17
18function ackAll(clients, done) {
19 parallel(clients.map(function(client) {
20 return function (cb) {
21 client.on('message', function (msg) {
22 if (msg.split(' ')[0] === 'ack') {
23 cb()
24 return;
25 }
26 })
27 }
28 }), done)
29}
30
31function pubAll(clients, pubs, done) {
32 parallel(clients.map(function(client) {
33 return function (cb) {
34 client.on('message', function (msg) {
35 if (msg.split(' ')[0] === 'pub') {
36 pubs.push(msg)
37 cb()
38 return;
39 }
40 })
41 }
42 }), done)
43}