Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-934

Streaming parser: Need to stream input data in, and infoset out to handle arbitrarily large data.

XMLWordPrintableJSON

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major Major
    • 2.1.0
    • s13
    • Performance
    • None

      Currently Daffodil requires that all incoming data fit in one java.nio.ByteBuffer. A separate issue (DFDL-881) is about allowing > 4GB files, but data sizes would still be limited by available address space.

      A streaming approach has great advantages. It requires that the input can be streamed in (e.g., from a java.io.InputStream), but also requires that the DFDL Infoset can be streamed out. (Think SAX parser 'events' coming out). This is complicated by the DFDL notion of points of uncertainty. E.g., until a choice branch has been resolved none of the elements on any branch can be emitted since "backtracking" may invalidate them.

              Unassigned Unassigned
              mbeckerle.dfdl Mike Beckerle
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: