Protocol Buffers - Google's data interchange format (grpc依赖) https://developers.google.com/protocol-buffers/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Joshua Haberman 4a99abba12 Refactor varint encoding/decoding. 14 years ago
benchmarks First rough version of the JIT. 14 years ago
dynasm First rough version of the JIT. 14 years ago
lang_ext Small change to make Lua extension compile again. 14 years ago
src Refactor varint encoding/decoding. 14 years ago
tests Refactor varint encoding/decoding. 14 years ago
.gitignore Makefile is much improved ("make deps" works again, etc). 16 years ago
LICENSE Update copyright to be Google Inc. 14 years ago
Makefile Disable GDB JIT interface on OS X. 14 years ago
README Update README and fix small decoder issue. 14 years ago
gen-deps.sh Cleanup Makefile and mv descriptor/ -> src/ 14 years ago
perf-regression-test.py Default to -O3 if user doesn't specify opt. 14 years ago
perf-tests.sh Use FDO for benchmarks, which gives a 10-15% improvement. 14 years ago

README


upb - a minimalist implementation of protocol buffers.

For API documentation, see the header files.

To build (the core library is ANSI C and has no dependencies):
$ make

Other useful targets:
$ make test
$ make benchmark
$ make lua (requires lua libraries to be installed)

The tests and benchmarks have the following dependencies
(Ubuntu package names in parentheses):
- Google's protobuf compiler + libraries (protobuf-compiler, libprotobuf-dev)
- Lua binary and libraries (lua5.1, liblua5.1-dev)

Issue tracking is on Google Code:
http://code.google.com/p/upb/issues/list

A manual is forthcoming, for now see wiki docs at:
https://github.com/haberman/upb/wiki

API and ABI are both subject to change! Please do not distribute as a shared
library for this reason (for now at least).

TODO
====

The issue tracker contains small-to-medium tasks that need doing; but here are
the major things that are broken or not yet implemented yet:

- serialization isn't written yet (only deserialization)

- the language extensions that exist so far (Python and Lua) are totally
incomplete/broken. They are not usable for anything yet. This will
be remedied very soon.


CONTACT
=======

Author: Josh Haberman (jhaberman@gmail.com, haberman@google.com)
See LICENSE for copyright information.