pub struct ResourceTransactionContext<'a, R>where
R: DeviceRuntime,{ /* private fields */ }Implementations§
Source§impl<'a, R> ResourceTransactionContext<'a, R>where
R: DeviceRuntime,
impl<'a, R> ResourceTransactionContext<'a, R>where
R: DeviceRuntime,
pub fn identity(&self) -> &ResourceTransactionIdentity
pub fn admission(&self) -> &StaticProvisioningBinding
pub fn reservations(&self) -> &ResourceReservationBatch
Sourcepub fn allocate<'commit>(
&'commit self,
request: &BufferRequest,
) -> Result<DeviceAllocationReceipt<'commit>, DeviceAllocationError<R::Error>>
pub fn allocate<'commit>( &'commit self, request: &BufferRequest, ) -> Result<DeviceAllocationReceipt<'commit>, DeviceAllocationError<R::Error>>
The only allocation path exposed to a transaction driver. A successful runtime allocation is installed in core-owned pending storage before this method returns. The receipt contains metadata only and is tied to this commit call, so dropping it cannot lose buffer ownership.
Auto Trait Implementations§
impl<'a, R> !RefUnwindSafe for ResourceTransactionContext<'a, R>
impl<'a, R> !Send for ResourceTransactionContext<'a, R>
impl<'a, R> !Sync for ResourceTransactionContext<'a, R>
impl<'a, R> !UnwindSafe for ResourceTransactionContext<'a, R>
impl<'a, R> Freeze for ResourceTransactionContext<'a, R>
impl<'a, R> Unpin for ResourceTransactionContext<'a, R>
impl<'a, R> UnsafeUnpin for ResourceTransactionContext<'a, R>where
&'a Arc<R>: UnsafeUnpin,
Option<&'a RefCell<Option<CoreOwnedAllocation<<R as DeviceRuntime>::Buffer>>>>: UnsafeUnpin,
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