pub struct TempFile { /* private fields */ }Expand description
Temporary file retaining the provider session until its lifecycle completes.
§Examples
This example uses an isolated in-memory provider fixture.
use qubit_fs::temp::TempOptions;
use qubit_fs::temp::TempResourceState;
let mut temporary = filesystem.create_temp_file(TempOptions::default())?;
assert_eq!(TempResourceState::Owned, temporary.state());
temporary.cleanup()?;
assert_eq!(TempResourceState::Cleaned, temporary.state());Implementations§
Source§impl TempFile
impl TempFile
Sourcepub const fn state(&self) -> TempResourceState
pub const fn state(&self) -> TempResourceState
Returns the resource lifecycle state.
Sourcepub fn persist(
&mut self,
target: &Path,
options: PersistOptions,
) -> Result<PersistOutcome, PersistFailure>
pub fn persist( &mut self, target: &Path, options: PersistOptions, ) -> Result<PersistOutcome, PersistFailure>
Persists this temporary file to target.
§Parameters
target: Destination path validated by the owning filesystem.options: Atomicity and publication requirements.
§Returns
The provider-confirmed publication outcome.
§Errors
Returns a typed failure for invalid lifecycle state, failed preflight, provider failure, or a provider contract violation.
Sourcepub fn keep(&mut self) -> Result<PersistOutcome, PersistFailure>
pub fn keep(&mut self) -> Result<PersistOutcome, PersistFailure>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for TempFile
impl !Sync for TempFile
impl !UnwindSafe for TempFile
impl Freeze for TempFile
impl Send for TempFile
impl Unpin for TempFile
impl UnsafeUnpin for TempFile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more