pub enum PacketRouting<P: NonEmptyPath<OffchainPublicKey> = TransportPath> {
ForwardPath {
forward_path: P,
return_paths: Vec<P>,
},
Surb(HoprSurbId, HoprSurb),
NoAck(OffchainPublicKey),
}Expand description
Determines options on how HOPR packet can be routed to its destination.
Variants§
ForwardPath
The packet is routed directly via the given path. Optionally, return paths for attached SURBs can be specified.
Surb(HoprSurbId, HoprSurb)
The packet is routed via an existing SURB that corresponds to a pseudonym.
NoAck(OffchainPublicKey)
No acknowledgement packet: a special type of 0-hop packet that is not going to be acknowledged but can carry a payload.
Trait Implementations§
Source§impl<P: Clone + NonEmptyPath<OffchainPublicKey>> Clone for PacketRouting<P>
impl<P: Clone + NonEmptyPath<OffchainPublicKey>> Clone for PacketRouting<P>
Source§fn clone(&self) -> PacketRouting<P>
fn clone(&self) -> PacketRouting<P>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<P> Freeze for PacketRouting<P>where
P: Freeze,
impl<P> RefUnwindSafe for PacketRouting<P>where
P: RefUnwindSafe,
impl<P> Send for PacketRouting<P>where
P: Send,
impl<P> Sync for PacketRouting<P>where
P: Sync,
impl<P> Unpin for PacketRouting<P>where
P: Unpin,
impl<P> UnwindSafe for PacketRouting<P>where
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§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>
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