Skip to content

tildeio/rust-protobuf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-protobuf

Build Status

Protobuf implementation in Rust.

  • Written in pure rust
  • Generate rust code
  • Has runtime library for generated code (Coded{Input|Output}Stream impl)
  • Incomplete and unstable

How to use rust-protobuf

  1. Install protobuf for protoc binary.

On OS X Homebrew can be used:

brew install protobuf

On Ubuntu, protobuf-compiler package can be installed:

apt-get install protobuf-compiler
  1. Compile the project:
cd src
./rebuild.sh

protoc-gen-rust binary is generated. protoc-gen-rust is a rust plugin for protoc.

  1. Add protoc-gen-rust to $PATH:
PATH="`pwd`:$PATH"
  1. Generate .rs files:
protoc --rust_out . foo.proto

This will generate .rs files in current directory.

Same procedure is used to regenerate .rs files for rust-protobuf itself, see ./regerate.sh.

  1. Include generated files into your project .rs file:
extern mod protobuf; // depend on rust-protobuf runtime
mod foo; // add generated file to the project

Generated code

Have a look at generated files, used internally in rust-protobuf:

TODO

  • Implement some rust-specific options
  • Deal better with namespaces
  • Store unknown fields
  • Protobuf reflection
  • Extensions
  • default_instance for messages with repeated fields
  • Generate stubs for services
  • Comprehensive test suite
  • Default value

Contact me

@stepancheg on github if you have any questions, suggesions or patches.

About

Rust support for Google protocol buffers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.7%
  • Shell 0.3%