template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 303 of file fidling/gen/src/storage/fidl/fuchsia.fs.startup/fuchsia.fs.startup/cpp/fidl/fuchsia.fs.startup/cpp/wire_types.h
Public Methods
::fuchsia_fs_startup::wire::StartOptions Build ()
Build and return the table. The builder should not be used after this.
bool has_read_only ()
void clear_read_only ()
Clears the read_only field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & read_only ()
Start the filesystem in read-only mode.
BuilderImpl & read_only (bool elem)
Start the filesystem in read-only mode.
bool has_verbose ()
void clear_verbose ()
Clears the verbose field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & verbose ()
Enable verbose logging.
BuilderImpl & verbose (bool elem)
Enable verbose logging.
bool has_fsck_after_every_transaction ()
void clear_fsck_after_every_transaction ()
Clears the fsck_after_every_transaction field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & fsck_after_every_transaction ()
If true, run fsck after every transaction. This is for testing purposes only - it's very
slow to run a filesystem like this.
BuilderImpl & fsck_after_every_transaction (bool elem)
If true, run fsck after every transaction. This is for testing purposes only - it's very
slow to run a filesystem like this.
bool has_startup_profiling_seconds ()
void clear_startup_profiling_seconds ()
Clears the startup_profiling_seconds field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint32_t & startup_profiling_seconds ()
Use profiling for the first N seconds after filesystem start. Records the access patterns
of objects for N seconds and if the profile already exists, prefetch data and hold the vmos
in cache for N seconds. Functionally this means that the first launch with this option
records the profile and all other launches with this option will replay that profile.
BuilderImpl & startup_profiling_seconds (uint32_t elem)
Use profiling for the first N seconds after filesystem start. Records the access patterns
of objects for N seconds and if the profile already exists, prefetch data and hold the vmos
in cache for N seconds. Functionally this means that the first launch with this option
records the profile and all other launches with this option will replay that profile.
bool has_inline_crypto_enabled ()
void clear_inline_crypto_enabled ()
Clears the inline_crypto_enabled field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & inline_crypto_enabled ()
If true, configures the filesystem to use the hardware's inline encryption engine when
writing encrypted data. This allows the filesystem to store user-encrypted data without
being able to read or write the plaintext contents, which enhances security and privacy.
Requires the block device to support inline encryption and for `barriers_enabled` to be
true.
TODO(https://fxbug.dev/393196849): For now, this flag only prevents the filesystem from
computing checksums. Update this comment when the filesystem actually uses inline
encryption.
BuilderImpl & inline_crypto_enabled (bool elem)
If true, configures the filesystem to use the hardware's inline encryption engine when
writing encrypted data. This allows the filesystem to store user-encrypted data without
being able to read or write the plaintext contents, which enhances security and privacy.
Requires the block device to support inline encryption and for `barriers_enabled` to be
true.
TODO(https://fxbug.dev/393196849): For now, this flag only prevents the filesystem from
computing checksums. Update this comment when the filesystem actually uses inline
encryption.
bool has_barriers_enabled ()
void clear_barriers_enabled ()
Clears the barriers_enabled field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & barriers_enabled ()
Configures the filesystem to use barriers instead of checksums to ensure consistency. If
set, barriers will be used to enforce proper ordering of data and metadata writes, which
is otherwise provided by computing and verifying data checksums. Requires filesystem
support; at the time of writing, only Fxfs uses this argument.
Must be set to true if `inline_crypto_enabled` is true.
BuilderImpl & barriers_enabled (bool elem)
Configures the filesystem to use barriers instead of checksums to ensure consistency. If
set, barriers will be used to enforce proper ordering of data and metadata writes, which
is otherwise provided by computing and verifying data checksums. Requires filesystem
support; at the time of writing, only Fxfs uses this argument.
Must be set to true if `inline_crypto_enabled` is true.
bool has_merge_super_and_userdata ()
void clear_merge_super_and_userdata ()
Clears the merge_super_and_userdata field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & merge_super_and_userdata ()
Only valid for GPT.
Configures the GPT to merge the `super` and `userdata` partitions into an overlay partition
`fxfs` when possible. The partitions must be physically contiguous. See
fuchsia.storage.partitions.OverlayPartition for more details.
BuilderImpl & merge_super_and_userdata (bool elem)
Only valid for GPT.
Configures the GPT to merge the `super` and `userdata` partitions into an overlay partition
`fxfs` when possible. The partitions must be physically contiguous. See
fuchsia.storage.partitions.OverlayPartition for more details.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_fs_startup::wire::StartOptions, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_fs_startup::wire::StartOptions>> && frame)