protocol-buffers-stream

1.3.1 • Public • Published

protocol-buffers-stream

Streaming protocol buffers for Node.js

npm install protocol-buffers-stream

build status

Usage

Assuming you have the following schema

message Test {
  required string hello = 1;
}

Run the following example

var protobufs = require('protocol-buffers-stream')
var fs = require('fs')
 
var schema = fs.readFileSync('schema.proto')
var createStream = protobufs(schema)
 
var stream = createStream()
 
// send a test message
// if your schema message was named example this method would be called example
stream.test({
  hello: 'world'
})
 
// receive a test message
stream.on('test', function(m) {
  console.log(m)
})
 
// just pipe to ourselves for testing
stream.pipe(stream)

Encoding

Each buffer is sent using the following encoding

----------------------------------------------
| frame length | message id | message buffer |
----------------------------------------------

The first message sent is a handshake message that contains the message ids of the following messages

If you know that your schema won't change you can pass {handshake:false} to createStream to disable handshaking

License

MIT

/protocol-buffers-stream/

    Package Sidebar

    Install

    npm i protocol-buffers-stream

    Weekly Downloads

    13

    Version

    1.3.1

    License

    MIT

    Last publish

    Collaborators

    • mafintosh