Nutella Peanut-Butter Marshmallow

    pull-length-prefixed

    1.3.3 • Public • Published

    pull-length-prefixed

    Coverage Status Travis CI Circle CI Dependency Status js-standard-style standard-readme compliant

    Streaming length prefixed buffers with pull-streams

    Table of Contents

    Installation

    $ npm install --save pull-length-prefixed

    Usage

    var pull = require('pull-stream')
    var lp = require('pull-length-prefixed')
     
    // encode
    pull(
      pull.values([Buffer.from('hello world')]),
      lp.encode(),
      pull.collect(function (err, encoded) {
        if (err) throw err
        console.log(encoded)
        // => [Buffer <0b 68 65 6c 6c 6f 20 77 6f 72 6c 64>]
      })
    )
     
    // decode
    pull(
      pull.values(encoded), // e.g. from above
      lp.decode(),
      pull.collect(function (err, decoded) {
        if (err) throw err
        console.log(decoded)
        // => [Buffer <68 65 6c 6c 6f 20 77 6f 72 6c 64>]
      })
    )

    API

    encode([opts])

    • opts: Object, optional
      • fixed: false: If true uses a fixed 4 byte Int32BE prefix instead of varint

    By default all messages will be prefixed with a varint. If you want to use a fixed length prefix you can specify this through the opts.

    Returns a pull-stream through.

    decode([opts])

    • opts: Object, optional
      • fixed: false: If true uses a fixed 4 byte Int32BE prefix instead of varint
      • maxLength: If provided, will not decode messages longer than the size specified, if omitted will use the current default of 4MB.

    By default all messages will be prefixed with a varint. If you want to use a fixed length prefix you can specify this through the opts.

    Returns a pull-stream through.

    decodeFromReader(reader, [opts], cb)

    • reader: [pull-reader](https://github.com/dominictarr/pull-reader)
    • opts: Object, optional. Same as for decode.
    • cb: Function: Callback called with (err, message).

    This uses a pull-reader instance to reade and decode a single message. Useful when using pull-handshake with length prefixed messages.

    Contribute

    PRs and issues gladly accepted! Check out the issues.

    License

    MIT © 2016 Friedel Ziegelmayer

    Install

    npm i pull-length-prefixed

    DownloadsWeekly Downloads

    1,237

    Version

    1.3.3

    License

    MIT

    Unpacked Size

    350 kB

    Total Files

    14

    Last publish

    Collaborators

    • dignifiedquire