pub struct Ack { /* private fields */ }Expand description
The render-thread side of an acknowledgment barrier: the render thread holds
this (moved out of a RenderCommand::Pause/RenderCommand::SurfaceDestroyed)
while honoring the command, then acknowledges it —
unblocking the UI thread’s paired AckWaiter.
Dropping an Ack without an explicit acknowledge
still signals (a safety net so a render thread that returns early — or
panics past the command — can never deadlock the UI thread), but a render
loop should acknowledge explicitly after the pause/destroy work is done,
which is exactly the barrier the two platform hazards need (Android window
release, iOS backgrounding).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Ack
impl RefUnwindSafe for Ack
impl Send for Ack
impl Sync for Ack
impl Unpin for Ack
impl UnsafeUnpin for Ack
impl UnwindSafe for Ack
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
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.