stevedlawrence opened a new pull request, #841: URL: https://github.com/apache/daffodil/pull/841
Prior to these changes, the combination of layers and suspensions could cause issues with bit order checking, which could lead to suspensions trying to create new suspensions, which isn't allowed. - When creating layers, rather than writing directly to the current DOS stream, we instead create a new buffered DOS just for this layer. This ensures that the layer is written starting with a zero offset and no fragments or bitOreder state to cause confusion. - The original DOS is marked as finished, allowing the new layer DOS to be flushed to it when marked as finished. If the original DOS was direct, it would make this new layer DOS direct and so buffered data should be minimized. - We must create a clone of the UState that is passed into the layer creation functions as well as used to finish the original DOS. This ensures the new layer DOS and original DOS use the correct state snapshot if suspensions cause their evaluation and flushing of data to be delayed. DAFFODIL-726 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
