| commit | c604ed9ae9981e63e34a3628bd5c97936b4dd4ac | [log] [tgz] |
|---|---|---|
| author | Stan Hu <stanhu@gmail.com> | Tue Nov 02 00:11:56 2021 -0700 |
| committer | Stan Hu <stanhu@gmail.com> | Tue Nov 02 00:11:56 2021 -0700 |
| tree | 46a36e39dfbb1a52f794227d2f364bdd57dacdab | |
| parent | da350f6aae34ebb6183594ceb5bd75a582b9a016 [diff] |
Fix big endian handling of enums Previously using an enum for a field on big-endian process such as the s390x would fail to decode properly. We need to munge it in the correct byte order before decoding it.
μpb (often written ‘upb’) is a small protobuf implementation written in C.
upb is the core runtime for protobuf languages extensions in Ruby, PHP, and (soon) Python.
While upb offers a C API, the C API & ABI are not stable. For this reason, upb is not generally offered as a C library for direct consumption, and there are no releases.
upb has comparable speed to protobuf C++, but is an order of magnitude smaller in code size.
Like the main protobuf implementation in C++, it supports:
upb also supports some features that C++ does not:
However there are a few features it does not support:
protoc.For Ruby, use RubyGems:
$ gem install google-protobuf
For PHP, use PECL:
$ sudo pecl install protobuf
Please see CONTRIBUTING.md.