pub struct ResidencyTransfer<L, C, R, O>where
O: ResidencyTransferOwner<C, R>,{ /* private fields */ }Expand description
Caller-owned exact transfer and source-lifetime guard.
Implementations§
Source§impl<L, C, R, O> ResidencyTransfer<L, C, R, O>where
O: ResidencyTransferOwner<C, R>,
impl<L, C, R, O> ResidencyTransfer<L, C, R, O>where
O: ResidencyTransferOwner<C, R>,
Sourcepub fn immediate(leases: Vec<L>, tier: MemoryTier) -> Self
pub fn immediate(leases: Vec<L>, tier: MemoryTier) -> Self
Creates an already-complete transfer containing only resident leases.
Sourcepub fn submitted(
leases: Vec<L>,
completion: C,
resources: R,
owner: Weak<O>,
ids: Vec<OffloadUnitId>,
tier: MemoryTier,
generation: u64,
) -> Self
pub fn submitted( leases: Vec<L>, completion: C, resources: R, owner: Weak<O>, ids: Vec<OffloadUnitId>, tier: MemoryTier, generation: u64, ) -> Self
Creates an in-flight transfer owning its exact completion and retained resources.
Sourcepub fn order_after(&self, executor: &O::Executor) -> Result<(), O::Error>
pub fn order_after(&self, executor: &O::Executor) -> Result<(), O::Error>
Orders dependent backend work after this exact transfer.
Sourcepub fn is_complete(&self) -> Result<bool, O::Error>
pub fn is_complete(&self) -> Result<bool, O::Error>
Returns whether this exact transfer completed without blocking.
Sourcepub fn synchronize(&mut self) -> Result<(), O::Error>
pub fn synchronize(&mut self) -> Result<(), O::Error>
Waits for exact completion and publishes or rolls back the transfer.
Trait Implementations§
Source§impl<L, C, R, O> Drop for ResidencyTransfer<L, C, R, O>where
O: ResidencyTransferOwner<C, R>,
impl<L, C, R, O> Drop for ResidencyTransfer<L, C, R, O>where
O: ResidencyTransferOwner<C, R>,
Auto Trait Implementations§
impl<L, C, R, O> Freeze for ResidencyTransfer<L, C, R, O>
impl<L, C, R, O> RefUnwindSafe for ResidencyTransfer<L, C, R, O>where
Vec<L>: RefUnwindSafe,
Option<C>: RefUnwindSafe,
Option<R>: RefUnwindSafe,
Weak<O>: RefUnwindSafe,
impl<L, C, R, O> Send for ResidencyTransfer<L, C, R, O>
impl<L, C, R, O> Sync for ResidencyTransfer<L, C, R, O>
impl<L, C, R, O> Unpin for ResidencyTransfer<L, C, R, O>
impl<L, C, R, O> UnsafeUnpin for ResidencyTransfer<L, C, R, O>
impl<L, C, R, O> UnwindSafe for ResidencyTransfer<L, C, R, O>
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