class DataSink
Defined at line 166 of file fidling/gen/sdk/fidl/fuchsia.paver/fuchsia.paver/cpp/fidl/fuchsia.paver/cpp/markers.h
Protocol for reading and writing boot partitions.
A note on DataSink.Flush() (and BootManager.Flush() coming after):
Some platforms may implement the Flush() fidl interface of DataSink/BootManager. For these
platforms, the update of some system images and A/B configuration is not persisted to storage
immediately and only buffered internally when the write fidl interfaces return. The data is
guaranteed to be persisted only after the Flush() interfaces are called.
If not implemented, Flush() is no-op and system images and A/B configuration will be persisted
to storage immediately after the write fidl interfaces return.
For all platforms, it is guaranteed that if DataSink.Flush() is implemented, BootManager.Flush()
is implemented as well. Therefore, in the context of system update, both of the following update
sequences are safe in the sense that, new A/B configuration will not be persisted to storage
before new system images.
DataSink.Write[...]() --> DataSink.Flush() --> BootManager.Set[...]() --> BootManager.Flush()
DataSink.Write[...]() --> BootManager.Set[...]() --> DataSink.Flush() --> BootManager.Flush()
Public Members
static Openness kOpenness