#[non_exhaustive]pub struct WriteOptions { /* private fields */ }Expand description
Options controlling a write operation.
§Examples
use qubit_fs::write::WriteOptions;
use qubit_fs::metadata::AtomicityRequirement;
use qubit_fs::metadata::FileSystemCapabilities;
let options = WriteOptions::default().with_atomicity(AtomicityRequirement::Required);
assert!(options.validate_against(FileSystemCapabilities::new()).is_err());Implementations§
Source§impl WriteOptions
impl WriteOptions
Sourcepub const fn with_create_parent(self, create: bool) -> Self
pub const fn with_create_parent(self, create: bool) -> Self
Returns a copy with parent creation replaced.
Sourcepub const fn create_parent(&self) -> bool
pub const fn create_parent(&self) -> bool
Returns whether missing parent directories are created.
Sourcepub const fn with_disposition(self, disposition: WriteDisposition) -> Self
pub const fn with_disposition(self, disposition: WriteDisposition) -> Self
Returns a copy with the destination disposition replaced.
Sourcepub const fn disposition(&self) -> WriteDisposition
pub const fn disposition(&self) -> WriteDisposition
Returns the destination disposition.
Sourcepub const fn with_atomicity(self, atomicity: AtomicityRequirement) -> Self
pub const fn with_atomicity(self, atomicity: AtomicityRequirement) -> Self
Returns a copy with the atomicity requirement replaced.
Sourcepub const fn atomicity(&self) -> AtomicityRequirement
pub const fn atomicity(&self) -> AtomicityRequirement
Returns the atomicity requirement.
Sourcepub const fn with_durability(self, durability: DurabilityRequirement) -> Self
pub const fn with_durability(self, durability: DurabilityRequirement) -> Self
Returns a copy with the durability requirement replaced.
Sourcepub const fn durability(&self) -> DurabilityRequirement
pub const fn durability(&self) -> DurabilityRequirement
Returns the completed-publication durability requirement.
Sourcepub fn with_precondition(self, precondition: WritePrecondition) -> Self
pub fn with_precondition(self, precondition: WritePrecondition) -> Self
Returns a copy with the version precondition replaced.
Sourcepub const fn precondition(&self) -> &WritePrecondition
pub const fn precondition(&self) -> &WritePrecondition
Returns the version precondition.
Sourcepub fn with_content_type(self, content_type: Option<String>) -> Self
pub fn with_content_type(self, content_type: Option<String>) -> Self
Returns a copy with the content type replaced.
Sourcepub fn content_type(&self) -> Option<&str>
pub fn content_type(&self) -> Option<&str>
Returns the optional content type.
Sourcepub const fn user_metadata(&self) -> &NonSensitiveMetadata
pub const fn user_metadata(&self) -> &NonSensitiveMetadata
Returns the user metadata attached to this write.
Sourcepub fn with_checksum(self, checksum: Option<Checksum>) -> Self
pub fn with_checksum(self, checksum: Option<Checksum>) -> Self
Returns a copy with the expected checksum replaced.
Sourcepub fn with_user_metadata(self, metadata: UserMetadata) -> Self
pub fn with_user_metadata(self, metadata: UserMetadata) -> Self
Replaces user-defined metadata that has already passed key validation.
Sourcepub fn validate(&self) -> Result<(), FsError>
pub fn validate(&self) -> Result<(), FsError>
Validates combinations that have no coherent provider interpretation.
§Errors
Returns FsErrorKind::InvalidOptions before a writer is opened when
append is combined with atomic publication or a version precondition,
or when create-new is combined with an existing-version requirement.
Sourcepub fn validate_against(
&self,
capabilities: FileSystemCapabilities,
) -> Result<(), FsError>
pub fn validate_against( &self, capabilities: FileSystemCapabilities, ) -> Result<(), FsError>
Validates write options against stable configured capabilities.
Providers should call this before opening a write session. In
particular, required atomic publication is rejected before any staging
write when FileSystemCapability::AtomicReplace is absent.
§Errors
Returns invalid-option errors from Self::validate, or a typed
FsErrorKind::RequirementNotMet for unsupported append, conditional,
or required-atomic writes.
Trait Implementations§
Source§impl Clone for WriteOptions
impl Clone for WriteOptions
Source§fn clone(&self) -> WriteOptions
fn clone(&self) -> WriteOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more