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

Records