pub struct OpenedAsyncTempFile { /* private fields */ }Expand description
An already-created asynchronous temporary-file handle.
§Examples
use qubit_fs::metadata::{FileKind, FileMetadata, FileSystemId, OpenedFileInfo};
use qubit_fs::path::Path;
use qubit_fs::spi::{AsyncTempResourceSpi, OpenedAsyncTempFile, PersistRequest, SpiFuture};
use std::pin::Pin;
struct Session;
impl AsyncTempResourceSpi for Session {
fn cleanup<'a>(self: Pin<&'a mut Self>) -> SpiFuture<'a, qubit_fs::error::FsResult<()>> {
Box::pin(async { Ok(()) })
}
fn keep<'a>(
self: Pin<&'a mut Self>,
) -> SpiFuture<'a, Result<qubit_fs::temp::PersistOutcome, qubit_fs::spi::SpiPersistFailure>> {
Box::pin(async { unreachable!() })
}
fn persist<'a>(
self: Pin<&'a mut Self>,
_: PersistRequest<'a>,
) -> SpiFuture<'a, Result<qubit_fs::temp::PersistOutcome, qubit_fs::spi::SpiPersistFailure>> {
Box::pin(async { unreachable!() })
}
}
let info = OpenedFileInfo::new(FileSystemId::new("doc")?, Path::parse("/scratch")?)
.with_metadata(FileMetadata::new(FileKind::File));
let _opened = OpenedAsyncTempFile::new(info, Box::new(Session));Implementations§
Source§impl OpenedAsyncTempFile
impl OpenedAsyncTempFile
Sourcepub fn new(info: OpenedFileInfo, session: Box<dyn AsyncTempResourceSpi>) -> Self
pub fn new(info: OpenedFileInfo, session: Box<dyn AsyncTempResourceSpi>) -> Self
Sourcepub const fn info(&self) -> &OpenedFileInfo
pub const fn info(&self) -> &OpenedFileInfo
Auto Trait Implementations§
impl !RefUnwindSafe for OpenedAsyncTempFile
impl !Sync for OpenedAsyncTempFile
impl !UnwindSafe for OpenedAsyncTempFile
impl Freeze for OpenedAsyncTempFile
impl Send for OpenedAsyncTempFile
impl Unpin for OpenedAsyncTempFile
impl UnsafeUnpin for OpenedAsyncTempFile
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