mirror of
https://github.com/protobuf-c/protobuf-c.git
synced 2024-12-27 05:11:04 +08:00
64 lines
2.0 KiB
Plaintext
64 lines
2.0 KiB
Plaintext
----------------------
|
|
--- IMPORTANT TODO ---
|
|
----------------------
|
|
- provide example rpc
|
|
- proper support for extensions
|
|
- slot for ranges in descriptor
|
|
- extends is implemented as c-style function
|
|
whose name is built from the package, the base message type-name
|
|
and the member. which takes the base message and returns the
|
|
value, if it is found in "unknown_values".
|
|
- implement default values for strings, bytes, and messages.
|
|
- ensure enums are int-size
|
|
- message__init(...)
|
|
initializes all defaults -- points at static default values
|
|
for strings, bytes and submessages.
|
|
|
|
--------------------
|
|
--- NEEDED TESTS ---
|
|
--------------------
|
|
- test:
|
|
- service method lookups
|
|
- out-of-order fields in messages (ie if the number isn't ascending)
|
|
- gaps in numbers: check that the number of ranges is correct
|
|
- default values
|
|
|
|
---------------------
|
|
--- DOCUMENTATION ---
|
|
---------------------
|
|
Document:
|
|
- services
|
|
- default value handling [not implemented yet]
|
|
- check over documentation again
|
|
|
|
--------------------------
|
|
--- LOW PRIORITY STUFF ---
|
|
--------------------------
|
|
- support Group (whatever it is)
|
|
- almost no code generator options are obeyed
|
|
|
|
------------------------------------
|
|
--- EXTREMELY LOW PRIORITY STUFF ---
|
|
------------------------------------
|
|
- stop using qsort in the code generator: find some c++ish way to do it
|
|
|
|
----------------------------------------------
|
|
--- ISSUES WE ARE PROBABLY GOING TO IGNORE ---
|
|
----------------------------------------------
|
|
- strings may not contain NULs
|
|
|
|
-------------------------
|
|
--- IDEAS TO CONSIDER ---
|
|
-------------------------
|
|
|
|
- lifetime functions for messages:
|
|
message__new()
|
|
return a new message using an allocator with standard allocation policy
|
|
message__unpack_onto(...)
|
|
unpack onto an initialized message
|
|
message__clear(...)
|
|
clears all allocations, does not free the message itself
|
|
message__free(...)
|
|
free the message.
|
|
[yeah, right: after typing it out, i see it's way too complicated]
|