Hello,

My idea is to compare the avro's serialization/deserialization features with
the soap realization which we currently have, and for that purpose I use
your C++ version, where I will take one of our "heavy" objects and I will
try to measure the size of the received binary file (put together with the
current xml which I have) and the speed.
So I have a veery complex hierarchy of (let's say java)classes and because
it would have been a work to create my schema manually, I used your
InduceSchemaTool.java, and it produced a file for me (around 2700 lines),
which as I supposed, is not fully applicable for the C++ version.
For example when a record is already defined (i.e. a schema for it),
normally when after that I have an array of a type that record, it is not
defined again. The java code gave me this :

           ...},
              {
              "name" : "durableName",
              "type" : {
                "type" : "record",
                "name" : "DurableName",
                "namespace" : "test.miv.host.ScsiL$",
                "fields" : [ {
                  "name" : "namespace",
                  "type" : "string"
                }, {
                  "name" : "namespaceId",
                  "type" : "int"
                }, {
                  "name" : "data",
                  "type" : "bytes"
                } ]
              }
             },
             {
             "name" : "alternateName",
             "type" :
              {
               "type" : "array",
               "items" : "test.miv.host.ScsiL$.DurableName"
              }
            },
            { ...

which, of course, "test.miv.host.ScsiL$.DurableName" could not be understood
from the flex/bison in the C++ version.
My question is is there a way to attune AvroLex.ll and in general the parser
and the compiler in the C++ version to accurately recognize and create the
inner classes (this '$' which the java code use), and to distinguish that
this "test.miv.host.ScsiL$.DurableName" is smthg like
test::miv::host::ScsiL::DurableName in C++ and to to correctly create my
array ?

Thank you
Yuliya

Reply via email to