/[Apache-SVN]
ViewVC logotype

Revision 1146546


Jump to revision: Previous Next
Author: dcreager
Date: Thu Jul 14 02:35:04 2011 UTC (12 years, 8 months ago)
Changed paths: 66
Log Message:
AVRO-837. C: Avro value interface

This patch adds a new interface for Avro values.  Eventually, each part
of the library that operates on Avro data will work with any C type that
implements this interface, rather than only working on avro_datum_t
instances.

As of right now, we have a definition of the interface itself (along
with a bunch of macros that make it easier to call the interface methods
on a particular instance).  We also have a “generic” implementation of
the interface, which will serve as a replacement for avro_datum_t.

There is also an avro_value_t implementation that wraps avro_datum_t
instances.  This will let us migrate code slowly to the new interface,
where necessary.

As part of all of this, I've broken out the monolithic avro.h header
file into separate modular headers.  You can still include <avro.h> on
its own to pick up all of the parts.

Lastly, there's now a test program that compares the performance of the
old and new APIs.


Changed paths

Path Details
Directoryavro/trunk/lang/c/docs/index.txt modified , text changed
Directoryavro/trunk/lang/c/src/.gitignore modified , text changed
Directoryavro/trunk/lang/c/src/CMakeLists.txt modified , text changed
Directoryavro/trunk/lang/c/src/Makefile.am modified , text changed
Directoryavro/trunk/lang/c/src/allocation.c modified , text changed
Directoryavro/trunk/lang/c/src/allocation.h deleted
Directoryavro/trunk/lang/c/src/array.c added
Directoryavro/trunk/lang/c/src/avro/allocation.h added
Directoryavro/trunk/lang/c/src/avro/basics.h added
Directoryavro/trunk/lang/c/src/avro/consumer.h modified , text changed
Directoryavro/trunk/lang/c/src/avro/data.h added
Directoryavro/trunk/lang/c/src/avro/errors.h added
Directoryavro/trunk/lang/c/src/avro/generic.h added
Directoryavro/trunk/lang/c/src/avro/io.h added
Directoryavro/trunk/lang/c/src/avro/legacy.h added
Directoryavro/trunk/lang/c/src/avro/schema.h added
Directoryavro/trunk/lang/c/src/avro/value.h added
Directoryavro/trunk/lang/c/src/avro.h modified , text changed
Directoryavro/trunk/lang/c/src/avro_errors.h deleted
Directoryavro/trunk/lang/c/src/avro_private.h modified , text changed
Directoryavro/trunk/lang/c/src/datafile.c modified , text changed
Directoryavro/trunk/lang/c/src/datum.c modified , text changed
Directoryavro/trunk/lang/c/src/datum.h modified , text changed
Directoryavro/trunk/lang/c/src/datum_json.c modified , text changed
Directoryavro/trunk/lang/c/src/datum_read.c modified , text changed
Directoryavro/trunk/lang/c/src/datum_size.c modified , text changed
Directoryavro/trunk/lang/c/src/datum_skip.c modified , text changed
Directoryavro/trunk/lang/c/src/datum_validate.c modified , text changed
Directoryavro/trunk/lang/c/src/datum_value.c added
Directoryavro/trunk/lang/c/src/datum_write.c modified , text changed
Directoryavro/trunk/lang/c/src/dump.c modified , text changed
Directoryavro/trunk/lang/c/src/encoding.h modified , text changed
Directoryavro/trunk/lang/c/src/encoding_binary.c modified , text changed
Directoryavro/trunk/lang/c/src/errors.c modified , text changed
Directoryavro/trunk/lang/c/src/generic-array.c added
Directoryavro/trunk/lang/c/src/generic-enum.c added
Directoryavro/trunk/lang/c/src/generic-fixed.c added
Directoryavro/trunk/lang/c/src/generic-map.c added
Directoryavro/trunk/lang/c/src/generic-primitives.c added
Directoryavro/trunk/lang/c/src/generic-record.c added
Directoryavro/trunk/lang/c/src/generic-union.c added
Directoryavro/trunk/lang/c/src/generic.c added
Directoryavro/trunk/lang/c/src/io.c modified , text changed
Directoryavro/trunk/lang/c/src/map.c added
Directoryavro/trunk/lang/c/src/memoize.c added
Directoryavro/trunk/lang/c/src/resolver.c modified , text changed
Directoryavro/trunk/lang/c/src/schema.c modified , text changed
Directoryavro/trunk/lang/c/src/schema.h modified , text changed
Directoryavro/trunk/lang/c/src/schema_specific.c modified , text changed
Directoryavro/trunk/lang/c/src/st.c modified , text changed
Directoryavro/trunk/lang/c/src/string.c added
Directoryavro/trunk/lang/c/src/value-read.c added
Directoryavro/trunk/lang/c/src/value-sizeof.c added
Directoryavro/trunk/lang/c/src/value-write.c added
Directoryavro/trunk/lang/c/src/value.c added
Directoryavro/trunk/lang/c/src/wrapped-buffer.c added
Directoryavro/trunk/lang/c/tests/.gitignore modified , text changed
Directoryavro/trunk/lang/c/tests/CMakeLists.txt modified , text changed
Directoryavro/trunk/lang/c/tests/Makefile.am modified , text changed
Directoryavro/trunk/lang/c/tests/generate_interop_data.c modified , text changed
Directoryavro/trunk/lang/c/tests/performance.c modified , text changed
Directoryavro/trunk/lang/c/tests/test_avro_data.c modified , text changed
Directoryavro/trunk/lang/c/tests/test_avro_schema.c modified , text changed
Directoryavro/trunk/lang/c/tests/test_avro_schema_names.c modified , text changed
Directoryavro/trunk/lang/c/tests/test_avro_values.c added
Directoryavro/trunk/lang/c/tests/test_data_structures.c added

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26