pull-length-prefixed
Streaming length prefixed buffers with pull-streams
Last updated 8 years ago by dignifiedquire .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install pull-length-prefixed 
SYNC missed versions from official npm registry.

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

Current Tags

  • 1.3.3                                ...           latest (6 years ago)

8 Versions

  • 1.3.3                                ...           6 years ago
  • 1.3.2                                ...           6 years ago
  • 1.3.1                                ...           6 years ago
  • 1.3.0                                ...           7 years ago
  • 1.2.1                                ...           8 years ago
  • 1.2.0                                ...           8 years ago
  • 1.1.0                                ...           8 years ago
  • 1.0.0                                ...           8 years ago
Maintainers (1)
Downloads
Total 0
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (4)

© 2010 - cnpmjs.org x YWFE | Home | YWFE