npm

Bring the best of OSS JavaScript development to your projects with npm Orgs - private packages & team management tools.Learn more »

packet-stream-codec

1.1.2 • Public • Published

packet-stream-buffers

A tight binary codec for packet-streams (the internal component to muxrpc)

This allows streams of binary data, and also supports json objects. (although, you can't send a buffer inside a json object, but so far we have not done this in secure-scuttlebutt, so performance is more important)

The protocol sends zero or more header:body pairs, then a final header that is all zeros.

(
  [flags (1byte), length (4 bytes, UInt32BE), req (4 bytes, Int32BE)]
  [body (length bytes)]
) *
[zeros (9 bytes)]

flags indicates the encoding type of the body, and whether it's part of a stream, or an error/end value.

flags is just one byte.

[ignored (4 bits), stream (1 bit), end/err (1 bit), type (2 bits)]
type = {0 => Buffer, 1 => String, 2 => JSON}
 

License

MIT

Keywords

none

install

npm i packet-stream-codec

Downloadsweekly downloads

232

version

1.1.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability