---------------------- --- 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]