The protocol should allow for streams to be "appended", such that you can write it in multiple "blocks". With a clear "block" (layer? better name?) separation, partially reading the stream would be easy. You just register some filter/listener that tells the API when to stop.
Possibly, building on that, we could implement our "updates" format, where the same object would be written multiple time to the streams, and reading it would result in gradual updates. But this would require us to somehow keep the state of the ObjectTracker between each write (maybe in an alternate form, like writing the object ID in the objects themselves?)
The protocol should allow for streams to be "appended", such that you can write it in multiple "blocks". With a clear "block" (layer? better name?) separation, partially reading the stream would be easy. You just register some filter/listener that tells the API when to stop.
Possibly, building on that, we could implement our "updates" format, where the same object would be written multiple time to the streams, and reading it would result in gradual updates. But this would require us to somehow keep the state of the ObjectTracker between each write (maybe in an alternate form, like writing the object ID in the objects themselves?)