4) Implement the BERVisitor and make this the default migration protocol.

Most of the work will be in 1), though with the implementation in this series 
we should be able to do it incrementally. I'm not sure if the best approach is 
doing the mechanical phase 1 conversion, then doing phase 2 sometime after 4), 
doing phase 1 + 2 as part of 1), or just doing VMState conversions which gives 
basically the same capabilities as phase 1 + 2.

Thoughts?
Is anyone working on this? If not I may give it a shot (tomorrow++) for at least some of the primitives... for enabling vNVRAM metadata of course. Indefinite length encoding of constructed data types I suppose won't be used otherwise the visitor interface seems wrong for parsing and skipping of extra data towards the end of a structure if version n wrote the stream and appended some of its version n data and now version m < n is trying to read the struct and needs to skip the version [m+1, n ] data fields ... in that case the de-serialization of the stream should probably be stream-driven rather than structure-driven.

   Stefan


Reply via email to