Skip to content

Modifications to Apache Avro serialization format C++ library that provide information about number of bytes encoded/decoded

License

Notifications You must be signed in to change notification settings

manuel/avro-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avro C++ README.txt

The C++ port is thus far incomplete.  Currently, it contains:

 - Serializer/Parser- objects for writing/reading raw binary.

 - xxxSchema- objects for composing schemas.

 - ValidSchema- a schema object that has been converted to a parse tree
   (with some sanity checks). 

 - ValidSchema.toJson() writes the schema as a json object.

 - ValidatingSerializer/ValidatingParser- check that reads/writes
   match the expected schema type (more expensive than the raw
   serializer/parser but they detect errors, and allow dynamic
   discovery of parsed data/attributes).

 - Compiler (compileJsonSchema())- converts a Json string schema to a
   ValidSchema.

 - Code Generation (experimental) - given a schema it generates C++
   objects of the same data types, and the code to serialize and parse
   it.

What's missing: Defaults are not yet supported.  And the file and rpc
containers are not yet implemented. Documentation, sparse.

INSTRUCTIONS

To compile requires boost headers, and the boost regex library.
Additionally, to generate the avro spec compiler requires flex and bison.
To build one requires cmake 2.6 or later.

To generate a Makefile under Unix or Cygwin use:

cmake -G "Unix Makefiles"

If it doesn't work, either you are missing some packages (boost, flex or bison),
or you need to help configure locate them.

If the Makefile is configured correctly, then you can make and run tests:

    make
    ./build/unittest
    ./build/buffertest
    ./build/testgentest
    ./build/CodecTests
    ./build/StreamTests

To install

    make package

and then untar the generated .tar.gz file.

About

Modifications to Apache Avro serialization format C++ library that provide information about number of bytes encoded/decoded

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published