pub struct RuntimeInteriorHooks {
pub trace_channel: ChannelTraceFn,
pub sever_channel: fn(ChannelId) -> Vec<Value>,
pub evict_channel: fn(ChannelId),
pub trace_promise: PromiseTraceFn,
pub sever_promise: fn(PromiseId) -> Vec<Value>,
pub evict_promise: fn(PromiseId),
}Fields§
§trace_channel: ChannelTraceFnEmit one GcEdge::Value per value the channel’s buffer holds (with exact
multiplicity — each is one strong Rc the registry owns). false aborts
the pass (the registry RefCell was unavailable).
sever_channel: fn(ChannelId) -> Vec<Value>Drain the channel’s buffer, returning its contents for deferred drop.
evict_channel: fn(ChannelId)Remove a channel record whose handle is gone (only if it has no parked senders/receivers — a waiter keeps the record until the task is reaped).
trace_promise: PromiseTraceFnEmit the promise’s settled value, if any, as a GcEdge::Value.
sever_promise: fn(PromiseId) -> Vec<Value>Clear the promise’s settled value, returning it for deferred drop.
evict_promise: fn(PromiseId)Remove a settled promise record whose handle is gone (only if it has no waiters).
Trait Implementations§
Source§impl Clone for RuntimeInteriorHooks
impl Clone for RuntimeInteriorHooks
Source§fn clone(&self) -> RuntimeInteriorHooks
fn clone(&self) -> RuntimeInteriorHooks
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for RuntimeInteriorHooks
Auto Trait Implementations§
impl Freeze for RuntimeInteriorHooks
impl RefUnwindSafe for RuntimeInteriorHooks
impl Send for RuntimeInteriorHooks
impl Sync for RuntimeInteriorHooks
impl Unpin for RuntimeInteriorHooks
impl UnsafeUnpin for RuntimeInteriorHooks
impl UnwindSafe for RuntimeInteriorHooks
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