Complete C rewrite ------------------ Key: AVRO-344 URL: https://issues.apache.org/jira/browse/AVRO-344 Project: Avro Issue Type: Improvement Reporter: Matt Massie Attachments: AVRO-344.patch
This JIRA is for tracking what I hope will be the last C rewrite. This rewrite * removes all dependencies on APR and APR-util. Memory is managed now using reference counting. Hashes implemented using public domain code from Berkeley. List implemented using BSD license queue.h * uses the jansson JSON parser for parsing schemas. The Jansson parser is a high-quality JSON parser in C with an Apache-friendly MIT license * there is a well-defined object framework that serves both datum and schema datatypes and provides reference counting. Schemas and datum/values are no longer part of a single monolithic structure now. * you can now create a schema from json or by hand in code * updated to support the new AVRO-163 build layout * properly checks avro identifiers * probes for the endianness of the architecture in order to optimize endianness flipping, e.g. only on big-endian machines are little-endian conversions done. * documentation is now handled by asciidoc instead of doxygen. * increased number of schema unit tests * provides much more schema processing functionality like recursively checking for equality, checking for matches with promotion, and recursive schema copy. * lots of bug fixes This code is by no means complete. Most of the schema processing code is finished along with the primitive encoders for the binary format but I still need to complete the read/write path for complex types. I'm submitting this Jira to make the work public and to solicit feedback in prep for the 1.3 release. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.