Joshua Haberman
1dea81b1c2
Interface refinement: rename some constants.
...
* UPB_STOP -> UPB_BREAK, better represents breaking
out of a parsing loop.
* UPB_STATUS_OK -> UPB_OK, for all status codes, more
concise at no readability cost (perhaps an improvement).
14 years ago
Joshua Haberman
a38742bbe1
A few minor changes to the streaming protocol.
...
1. the start and end callbacks can now return
a upb_flow_t and set a status message.
2. clarified some semantics around passing an
error status back from the callbacks.
14 years ago
Joshua Haberman
e9b9bbf216
Add INLINE to a few identifiers.
14 years ago
Joshua Haberman
bcc688a303
upb_def compiles again!
14 years ago
Joshua Haberman
4559918090
More work on upb_src.
14 years ago
Joshua Haberman
db512df98e
A bunch of work on upb_def and upb_value.
14 years ago
Joshua Haberman
b471ca6b81
The last major revision to the upb_stream protocol.
...
Sources and sinks communicate by means of a
upb_handlers object, which encapsulates a set of
handler callbacks and will possibly offer richer
semantics in the future like giving specific
fields different callbacks.
The upb_handlers protocol supports delegation, so
sets of handlers can be written in reusable ways.
For example, if a set of handlers is written to
handle a specific .proto type, those handlers can
be used whether that type is at the top level or
whether it is a sub-message of a higher-level type.
Delegation allows the streaming protocol to
properly compose.
14 years ago
Joshua Haberman
2a7f51f3fd
Change upb_src to use push-based interface.
...
Unfortunately my previous detailed commit message was
lost somehow by git or vi. Will have to explain in more
detail at a later date the rationale for this change.
The build will be broken until I port the old decoder
to this new interface.
14 years ago
Joshua Haberman
a9e998159c
Fleshed out upb_msg: test_vs_proto2 compiles but fails.
15 years ago
Joshua Haberman
4e7dc9d8b6
Re-add a simplified upb_msg.
15 years ago
Joshua Haberman
2a617bf12c
Optimizations and bugfix to benchmark.
15 years ago
Joshua Haberman
372c8f0487
Fixes to benchmark.
15 years ago
Joshua Haberman
851c6a6915
strstream header file also.
15 years ago
Joshua Haberman
e30260bb0a
upb_stringsrc: upb_bytesrc for strings.
15 years ago
Joshua Haberman
678799082b
Stream decoding benchmark.
15 years ago
Joshua Haberman
672f4617e2
Lua support for fielddefs and getting their properties.
15 years ago
Joshua Haberman
d3d939ab7f
Fix the case where no def is found for lookup.
15 years ago
Joshua Haberman
21ee24a730
Updated Lua extension to handle fielddefs.
15 years ago
Joshua Haberman
71ac83fe7a
Make object cache weak.
15 years ago
Joshua Haberman
4a38d38f96
Use a weak table to cache objects.
...
This simplifies things considerably, and is more
in line with common practice.
15 years ago
Joshua Haberman
f6bc538f31
Prevent abort() if add_descriptorproto() is called twice.
15 years ago
Joshua Haberman
904a79cec3
Fix bugs in lookup and getdefs.
15 years ago
Joshua Haberman
5871ed0d02
First go at Lua bindings.
15 years ago
Joshua Haberman
4b6c8b6b23
Fixed bugs in textoutput.
...
Text output from descriptor.proto is now
identical to protoc!
15 years ago
Joshua Haberman
0fcfeab521
Bugfixes, test_decoder successfully stream-decodes a stream!
15 years ago
Joshua Haberman
b77db14646
Fixed broken submsg support in upb_streamdata.
15 years ago
Joshua Haberman
af9d691a34
Added Xcode project.
15 years ago
Joshua Haberman
79de3ca9e4
Add forgotten test_decoder.c.
15 years ago
Joshua Haberman
60ae9be438
Bugfixes to upb_stdio and upb_decoder.
15 years ago
Joshua Haberman
87b2c69c15
Fleshed out upb_stdio and upb_textprinter.
...
test_decoder now compiles and links! But it doesn't
work yet.
15 years ago
Joshua Haberman
5b5e26144d
Work on upb_textprinter.
15 years ago
Joshua Haberman
8e138c4687
Added more comments for upb_src interface.
15 years ago
Joshua Haberman
57ad204cea
Implemented upb_stdio (upb_bytesrc/upb_bytesink).
15 years ago
Joshua Haberman
c53921d2fe
Implemented upb_streamdata().
...
upb_streamdata() reads data from a upb_src until EOF
or error, passing all the data to a upb_sink.
15 years ago
Joshua Haberman
7a6a702792
Allow static upb_strings.
...
This can allow strings to reference static data, and
reduced the memory footprint of test_def by about 10%
(3k).
15 years ago
Joshua Haberman
fcfc37e7d4
Reduce decoder memory usage.
...
The "field" entry was only being used to determine
whether we were inside a group, but the "end_offset"
member contains enough information to tell us that.
15 years ago
Joshua Haberman
c7a95061a7
Successfully bootstraps!!
15 years ago
Joshua Haberman
ae0beee285
Fixed upb_string error with strange vsnprintf() behavior.
15 years ago
Joshua Haberman
db6c7387bc
Incremental progress towards getting upb_def to bootstrap.
15 years ago
Joshua Haberman
67b16cbe5c
Basic test_def links and passes no-op test!
15 years ago
Joshua Haberman
2ef013126c
Fleshed out upb_string further. Now upb_def's only
...
unresolved references are upb_src.
15 years ago
Joshua Haberman
e29bf964d1
Tests for string and fleshed out implementation.
15 years ago
Joshua Haberman
28ec9a1fa0
Split src/ into core/ and stream/.
15 years ago
Joshua Haberman
604c1a78bc
Add upb_string.c.
15 years ago
Joshua Haberman
c4aecc414b
Strip out some stuff that's not currently being used.
15 years ago
Joshua Haberman
b04ff41664
Dynamically allocate string for error msg.
15 years ago
Joshua Haberman
be5ddd8a64
Tweaks to upb_src/upb_sink interfaces.
15 years ago
Joshua Haberman
209dce5eb0
Defined the function for getting a upb_symtab for descriptor.proto.
15 years ago
Joshua Haberman
a7eaeaaaec
Change descriptor.c/h to be just a byte array of serialized descriptor.proto.
15 years ago
Joshua Haberman
9d051254b3
Implemented upb_baredecoder, for bootstrapping.
15 years ago