Struct OwnerWakeQueue
pub struct OwnerWakeQueue { /* private fields */ }Expand description
UI-affine registration index with a Send-safe, weak pending intake. Hosts register actual mounted components. Queue presence is only scheduling metadata; each service re-admits the current physical owner and canonical record.
Implementations§
§impl OwnerWakeQueue
impl OwnerWakeQueue
pub fn take_pending(&self) -> Vec<OwnerWakeRequest>
pub fn take_pending(&self) -> Vec<OwnerWakeRequest>
Take the whole pending collection BEFORE any consumer callback. Return owners in first-dirty arrival order; coalescing retains their position. Late wakes enter a new collection. Public requeue merges at a late owner’s existing position or appends after already pending owners. Batch Drop instead restores failed and unvisited requests before late owners. Work is proportional to queued owners, not registrations.
pub fn requeue(&self, request: OwnerWakeRequest) -> bool
pub fn requeue(&self, request: OwnerWakeRequest) -> bool
Return an unserviced signal without clearing work raised after the take. A failed fresh admission never becomes a successful receipt.
pub fn has_pending(&self) -> bool
pub fn has_pending(&self) -> bool
Queue presence only, not current-owner custody or model purity.
pub fn has_pending_model_work(&self) -> bool
pub fn has_pending_model_work(&self) -> bool
Whether a queued wake asks for an owner’s model, not only for its save status: what a frame may have to show. A save that moved on is serviced without asking for a frame; its service asks for one only when the owner shows something new.
pub fn wait_pending_until(&self, deadline: Instant) -> bool
pub fn wait_pending_until(&self, deadline: Instant) -> bool
Park the calling thread, as an idle host’s event loop does, until a
wake is queued or deadline passes. Whether one is queued.
Trait Implementations§
§impl Clone for OwnerWakeQueue
impl Clone for OwnerWakeQueue
§fn clone(&self) -> OwnerWakeQueue
fn clone(&self) -> OwnerWakeQueue
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Default for OwnerWakeQueue
impl Default for OwnerWakeQueue
§fn default() -> OwnerWakeQueue
fn default() -> OwnerWakeQueue
Auto Trait Implementations§
impl Freeze for OwnerWakeQueue
impl !RefUnwindSafe for OwnerWakeQueue
impl !Send for OwnerWakeQueue
impl !Sync for OwnerWakeQueue
impl Unpin for OwnerWakeQueue
impl UnsafeUnpin for OwnerWakeQueue
impl !UnwindSafe for OwnerWakeQueue
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more