Пример #1
0
  db.append = wait(function (opts, cb) {
    try {
      var content = opts.content
      var recps = opts.content.recps
      if (recps) {
        const isNonEmptyArrayOfFeeds = isArray(recps) && recps.every(isFeed) && recps.length > 0
        if (isFeed(recps) || isNonEmptyArrayOfFeeds) {
          recps = opts.content.recps = [].concat(recps) // force to array
          content = opts.content = box(opts.content, recps)
        } else {
          const errMsg = 'private message recipients must be valid, was:' + JSON.stringify(recps)
          throw new Error(errMsg)
        }
      }

      var msg = V.create(
        state.feeds[opts.keys.id],
        opts.keys, opts.hmacKey || hmacKey,
        content,
        timestamp()
      )
    } catch (err) {
      cb(err)
      return
    }

    queue(msg, function (err) {
      if (err) return cb(err)
      var data = state.queue[state.queue.length - 1]
      flush.push(function () {
        cb(null, data)
      })
    })
  })
Пример #2
0
tape('generate', function (t) {
  var start = Date.now()
  var l = N
  state = V.append(state, null, MSG.value)
  console.log(state)

  while (l--) {
    if (!(l % 1000)) console.log(l)
    var keys = K[~~(Math.random() * K.length)]
    var content = {
      date: Date.now(), random: Math.random(), type: 'test'
    }
    var msg = V.create(
      state.feeds[keys.id],
      keys, null,
      content, timestamp()
    )
    state = V.append(state, null, msg)
    if (state.error) throw explain(state.error, 'error on generate')
  }
  console.log('generate', N / ((Date.now() - start) / 1000))
  t.end()
})