stevedlawrence commented on pull request #429:
URL: 
https://github.com/apache/incubator-daffodil/pull/429#issuecomment-707706463


   Found the last issue, it actually wasn't really related to suspensions, but 
related to how the order of suspensions getting evaluated could change how we 
deliver buffered DOS to the direct DOS. Again, I'm struggling to create a 
simple test for this, but I think the code is fairly clear.
   
   The issue here was that when we call setFinished on a DOS we deliver all the 
following buffered DOS's that have been finished so that we can release 
finished buffers. However, when we deliver multiple buffers, we always use the 
same ``FormatInfo`` as the original direct DOS. But Buffered DOS can change 
bitOrder, so the FormatInfo (which is where we get bitOrder) needs to change 
depending on the DOS. The fix is to save the FormatInfo associated with a 
buffered DOS when it is finished, and then use that when that DOS delivers 
buffered content. This allows the FormatInfo to change while delivering 
buffered content as we deliver different DOS.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to