Protobuf Team Bot
0c6531378d
Merge GetEnum into GetInt32. Rename SetEnum to SetEnumProto2 to be clear that upb only treats Proto2 enum as enum. Proto3 enums should use SetInt32.
...
PiperOrigin-RevId: 467000685
2 years ago
Protobuf Team Bot
e09d6fcb6d
Update mini table API comment
...
PiperOrigin-RevId: 463868386
2 years ago
Joshua Haberman
125db89ff5
Added fuzz tests for mini table building and binary format parsing/serialization.
...
PiperOrigin-RevId: 458240180
2 years ago
Protobuf Team Bot
49876f4633
Update sample of using upb_MtDataEncoder
...
PiperOrigin-RevId: 457501667
2 years ago
Protobuf Team
c7620a4690
Mini table accessors Part2 (repeated fields).
...
Introduces upb_FieldValue for array accessor api.
PiperOrigin-RevId: 445491436
3 years ago
Joshua Haberman
fa8b605f78
Implemented MiniDescriptors for proto2 enums.
...
An enum MiniDescriptor simply encodes a set of valid `int32_t` values, so that the protobuf parser can test whether a given enum value is known or not.
The format implemented here is novel and needs to be documented. In short, the format is:
1. base92 values 0-31: 5-bit mask indicating presence or absence of the next five enum values.
2. base92 values 60-91: varint indicating skip over a region of enum values.
Negative enum values are encoded as their `uint32_t` equivalent.
PiperOrigin-RevId: 442892799
3 years ago
Joshua Haberman
911a25e738
Passes nearly all tests!
3 years ago
Joshua Haberman
e0aaad386f
Passes all conformance tests!
3 years ago
Joshua Haberman
76a81e2177
WIP.
3 years ago
Joshua Haberman
970c645140
Fixes for google3 (layering check and formatting).
3 years ago
Joshua Haberman
8405436044
Addressed PR comments.
3 years ago
Joshua Haberman
f5246b70fd
clang-format
3 years ago
Joshua Haberman
de2c129362
First draft of mini-table building API.
3 years ago
Joshua Haberman
7647b79403
WIP.
3 years ago
Joshua Haberman
32038c1c59
New API for building extensions appears to work.
3 years ago
Joshua Haberman
13434560e0
WIP.
3 years ago
Joshua Haberman
eac23bc389
WIP.
3 years ago
Joshua Haberman
fb3b783353
WIP.
3 years ago
Joshua Haberman
5dfbc684dd
WIP.
3 years ago