Uploaded image for project: 'Avro'
  1. Avro
  2. AVRO-172

Don't include value class data/methods in each instance of a value

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0, 1.1.0, 1.2.0
    • Fix Version/s: 1.3.0
    • Component/s: c
    • Labels:
      None

      Description

      This patch is in response to Thiru's feedback about the current C implementation. Thanks, Thiru! I appreciate the feedback.

      Previously, all instances of an Avro value contained class-specific data and methods (e.g. callbacks for reading, skipping and writing data). This is inefficient and unnecessary.

      This patch creates a per value class registry to hold all class-wide information.

      Moreover, this patch creates the framework necessary for support the Avro JSON import/export format. Each value class registers all supported data formats (named AVRO_BINARY_FORMAT and AVRO_JSON_IMPORT_EXPORT_FORMAT). The current JSON parser is a DOM-like parser which is really only suitable for process schema data. The callbacks registered in the value class registry will allow us to process JSON data in a SAX-link fashion moving forward.

        Attachments

          Activity

            People

            • Assignee:
              massie Matt Massie
              Reporter:
              massie Matt Massie
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 4h
                4h
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 4h
                4h