pub trait AdmissionRelease:
Send
+ Sync
+ Debug {
// Required method
fn release(&self, slot: usize);
}Expand description
The runtime side of an AdmissionLease: what to call when a request that
was holding a VRAM slot is finished with it.
A separate trait rather than a closure so the lease stays Debug and has no
generic parameter to thread through every signature that carries one. The
implementation lives in gglib-runtime; this crate only needs to be able to
call it from a Drop, which is why Self::release is synchronous and
must not block.
Required Methods§
Sourcefn release(&self, slot: usize)
fn release(&self, slot: usize)
Release one in-flight reference to slot, waking the scheduler if that
was the last one.
Called from AdmissionLease’s Drop, so it must never block, panic,
or await.