text: /*
   * Copyright (c) 2014-2015, Matteo Collina <hello@matteocollina.com>
   *
   * Permission to use, copy, modify, and/or distribute this software for any
   * purpose with or without fee is hereby granted, provided that the above
   * copyright notice and this permission notice appear in all copies.
   *
   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
   * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
  'use strict'
  
  var mqemitter = require('./')
  var emitter = mqemitter({ concurrency: 10 })
  var total = 1000000
  var written = 0
  var received = 0
  var timerKey = 'time for sending ' + total + ' messages'
  
  function write () {
    if (written === total) {
      return
    }
  
    written++
  
    emitter.emit({ topic: 'hello', payload: 'world' }, write)
  }
  
  emitter.on('hello', function (msg, cb) {
    received++
    if (received === total) {
      console.timeEnd(timerKey)
    }
    setImmediate(cb)
  })
  
  console.time(timerKey)
  write()
  write()
  write()
  write()
  write()
  write()
  write()
  write()
  write()
  write()
  write()
  write()
  