Struct toad::step::provision_ids::ProvisionIds
source · pub struct ProvisionIds<P, Inner, SeenIds> { /* private fields */ }
Expand description
Step responsible for setting the token of all outbound messages with
empty ids (Id(0)
, assumed to be meaningless)
with a new id that is guaranteed to be unique to the conversation with
the message’s origin/destination address.
For more information, see the module documentation.
Trait Implementations§
source§impl<P, Inner, SeenIds> Default for ProvisionIds<P, Inner, SeenIds>where
Inner: Default,
SeenIds: Default,
impl<P, Inner, SeenIds> Default for ProvisionIds<P, Inner, SeenIds>where Inner: Default, SeenIds: Default,
source§impl<P, E: Error, Inner, Ids> Step<P> for ProvisionIds<P, Inner, Ids>where
P: PlatformTypes,
Inner: Step<P, PollReq = Addrd<Req<P>>, PollResp = Addrd<Resp<P>>, Error = E>,
Ids: IdsBySocketAddr<P>,
impl<P, E: Error, Inner, Ids> Step<P> for ProvisionIds<P, Inner, Ids>where P: PlatformTypes, Inner: Step<P, PollReq = Addrd<Req<P>>, PollResp = Addrd<Resp<P>>, Error = E>, Ids: IdsBySocketAddr<P>,
source§fn poll_req(
&self,
snap: &Snapshot<P>,
effects: &mut <P as PlatformTypes>::Effects
) -> StepOutput<Self::PollReq, Self::Error>
fn poll_req( &self, snap: &Snapshot<P>, effects: &mut <P as PlatformTypes>::Effects ) -> StepOutput<Self::PollReq, Self::Error>
Poll for an inbound request Read more
source§fn poll_resp(
&self,
snap: &Snapshot<P>,
effects: &mut <P as PlatformTypes>::Effects,
token: Token,
addr: SocketAddr
) -> StepOutput<Self::PollResp, Self::Error>
fn poll_resp( &self, snap: &Snapshot<P>, effects: &mut <P as PlatformTypes>::Effects, token: Token, addr: SocketAddr ) -> StepOutput<Self::PollResp, Self::Error>
Poll for an inbound response Read more
source§fn before_message_sent(
&self,
snap: &Snapshot<P>,
effs: &mut P::Effects,
msg: &mut Addrd<Message<P>>
) -> Result<(), Self::Error>
fn before_message_sent( &self, snap: &Snapshot<P>, effs: &mut P::Effects, msg: &mut Addrd<Message<P>> ) -> Result<(), Self::Error>
Invoked before messages are sent, allowing for internal state change & modification. Read more
Auto Trait Implementations§
impl<P, Inner, SeenIds> RefUnwindSafe for ProvisionIds<P, Inner, SeenIds>where Inner: RefUnwindSafe, P: RefUnwindSafe,
impl<P, Inner, SeenIds> Send for ProvisionIds<P, Inner, SeenIds>where Inner: Send, P: Send, SeenIds: Send,
impl<P, Inner, SeenIds> Sync for ProvisionIds<P, Inner, SeenIds>where Inner: Sync, P: Sync, SeenIds: Send + Sync,
impl<P, Inner, SeenIds> Unpin for ProvisionIds<P, Inner, SeenIds>where Inner: Unpin, P: Unpin, SeenIds: Unpin,
impl<P, Inner, SeenIds> UnwindSafe for ProvisionIds<P, Inner, SeenIds>where Inner: UnwindSafe, P: UnwindSafe,
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
source§impl<F, A, TF, T> Sequence<F, A, TF> for T
impl<F, A, TF, T> Sequence<F, A, TF> for T
source§fn sequence<Ap>(self) -> <Ap as HKT1>::T<<F as HKT1>::T<A>>where
Self: Sized + Traversable<F, <Ap as HKT1>::T<A>, A, TF> + Foldable<F, <Ap as HKT1>::T<A>>,
Ap: HKT1,
<Ap as HKT1>::T<A>: Applicative<Ap, A> + ApplyOnce<Ap, A>,
<Ap as HKT1>::T<TF>: Applicative<Ap, TF> + ApplyOnce<Ap, TF>,
<Ap as HKT1>::T<<F as HKT1>::T<A>>: Applicative<Ap, <F as HKT1>::T<A>> + ApplyOnce<Ap, <F as HKT1>::T<A>>,
F: HKT1<T<<Ap as HKT1>::T<A>> = Self>,
fn sequence<Ap>(self) -> <Ap as HKT1>::T<<F as HKT1>::T<A>>where Self: Sized + Traversable<F, <Ap as HKT1>::T<A>, A, TF> + Foldable<F, <Ap as HKT1>::T<A>>, Ap: HKT1, <Ap as HKT1>::T<A>: Applicative<Ap, A> + ApplyOnce<Ap, A>, <Ap as HKT1>::T<TF>: Applicative<Ap, TF> + ApplyOnce<Ap, TF>, <Ap as HKT1>::T<<F as HKT1>::T<A>>: Applicative<Ap, <F as HKT1>::T<A>> + ApplyOnce<Ap, <F as HKT1>::T<A>>, F: HKT1<T<<Ap as HKT1>::T<A>> = Self>,
See
Sequence