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 487bfdfc06 Begin port of Python extension to new APIs. 14 years ago
benchmarks Directory restructure. 14 years ago
dynasm First rough version of the JIT. 14 years ago
lang_ext Begin port of Python extension to new APIs. 14 years ago
tests More work on Lua extension, and consequent core refactoring. 14 years ago
tools Fixed "make descriptorgen". 14 years ago
upb Begin port of Python extension to new APIs. 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 Significant work on Lua extension. 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 Decoder redesign in preparation for packed fields and start/endseq. 14 years ago
perf-tests.sh Decoder redesign in preparation for packed fields and start/endseq. 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.