pub enum PendingInteractionSlot {
Permission {
tx: Sender<PermissionOutcome>,
request: Box<PermissionRequest>,
},
Question {
tx: Sender<QuestionOutcome>,
request: Box<QuestionRequest>,
},
}Expand description
One pending interaction response slot. Workspace stores these
keyed by tool_id in DomainSession.pending_interactions.
Command::RespondPermission / RespondQuestion look up the
matching slot and send the outcome down the oneshot.
The request rides beside the sender so a view that attached after the prompt landed still draws what it offers. The stream is a mirror with no backlog, so the update that carried it is gone by then, and the dock’s whole point is answering from a view that was not there when it arrived.
Variants§
Implementations§
Source§impl PendingInteractionSlot
impl PendingInteractionSlot
Sourcepub fn ask(&self) -> PendingAsk
pub fn ask(&self) -> PendingAsk
The request this slot is holding, which is what it offers.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PendingInteractionSlot
impl !UnwindSafe for PendingInteractionSlot
impl Freeze for PendingInteractionSlot
impl Send for PendingInteractionSlot
impl Sync for PendingInteractionSlot
impl Unpin for PendingInteractionSlot
impl UnsafeUnpin for PendingInteractionSlot
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> 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> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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