#[non_exhaustive]pub enum AnyRelayMsg {
Show 32 variants
Begin(Begin),
Data(Data),
End(End),
Connected(Connected),
Sendme(Sendme),
Extend(Extend),
Extended(Extended),
Extend2(Extend2),
Extended2(Extended2),
Truncate(Truncate),
Truncated(Truncated),
Drop(Drop),
Resolve(Resolve),
Resolved(Resolved),
BeginDir(BeginDir),
ConnectUdp(ConnectUdp),
ConnectedUdp(ConnectedUdp),
Datagram(Datagram),
ConfluxLink(ConfluxLink),
ConfluxLinked(ConfluxLinked),
ConfluxLinkedAck(ConfluxLinkedAck),
ConfluxSwitch(ConfluxSwitch),
EstablishIntro(EstablishIntro),
EstablishRendezvous(EstablishRendezvous),
Introduce1(Introduce1),
Introduce2(Introduce2),
Rendezvous1(Rendezvous1),
Rendezvous2(Rendezvous2),
IntroEstablished(IntroEstablished),
RendezvousEstablished(RendezvousEstablished),
IntroduceAck(IntroduceAck),
Unrecognized(Unrecognized),
}
Expand description
A single parsed relay message, sent or received along a circuit
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Begin(Begin)
Create a stream
Data(Data)
Send data on a stream
End(End)
Close a stream
Connected(Connected)
Successful response to a Begin message
Sendme(Sendme)
For flow control
Extend(Extend)
Extend a circuit to a new hop (deprecated)
Extended(Extended)
Successful response to an Extend message (deprecated)
Extend2(Extend2)
Extend a circuit to a new hop
Extended2(Extended2)
Successful response to an Extend2 message
Truncate(Truncate)
Partially close a circuit
Truncated(Truncated)
Tell the client that a circuit has been partially closed
Drop(Drop)
Used for padding
Resolve(Resolve)
Launch a DNS request
Resolved(Resolved)
Response to a Resolve message
BeginDir(BeginDir)
Start a directory stream
ConnectUdp(ConnectUdp)
experimental-udp
only.Start a UDP stream.
ConnectedUdp(ConnectedUdp)
experimental-udp
only.Successful response to a ConnectUdp message
Datagram(Datagram)
experimental-udp
only.UDP stream data
ConfluxLink(ConfluxLink)
conflux
only.Link circuits together at the receiving endpoint
ConfluxLinked(ConfluxLinked)
conflux
only.Confirm that the circuits were linked
ConfluxLinkedAck(ConfluxLinkedAck)
conflux
only.Acknowledge the linkage of the circuits, for RTT measurement.
ConfluxSwitch(ConfluxSwitch)
conflux
only.Switch to another leg in an already linked circuit construction.
EstablishIntro(EstablishIntro)
hs
only.Establish Introduction
EstablishRendezvous(EstablishRendezvous)
hs
only.Establish Rendezvous
Introduce1(Introduce1)
hs
only.Introduce1 (client to introduction point)
Introduce2(Introduce2)
hs
only.Introduce2 (introduction point to service)
Rendezvous1(Rendezvous1)
hs
only.Rendezvous1 (service to rendezvous point)
Rendezvous2(Rendezvous2)
hs
only.Rendezvous2 (rendezvous point to client)
IntroEstablished(IntroEstablished)
hs
only.Acknowledgement for EstablishIntro.
RendezvousEstablished(RendezvousEstablished)
hs
only.Acknowledgment for EstablishRendezvous.
IntroduceAck(IntroduceAck)
hs
only.Acknowledgement for Introduce1.
Unrecognized(Unrecognized)
An unrecognized command.
Trait Implementations§
Source§impl Clone for AnyRelayMsg
impl Clone for AnyRelayMsg
Source§fn clone(&self) -> AnyRelayMsg
fn clone(&self) -> AnyRelayMsg
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AnyRelayMsg
impl Debug for AnyRelayMsg
Source§impl From<Begin> for AnyRelayMsg
impl From<Begin> for AnyRelayMsg
Source§fn from(m: Begin) -> AnyRelayMsg
fn from(m: Begin) -> AnyRelayMsg
Source§impl From<BeginDir> for AnyRelayMsg
impl From<BeginDir> for AnyRelayMsg
Source§fn from(m: BeginDir) -> AnyRelayMsg
fn from(m: BeginDir) -> AnyRelayMsg
Source§impl From<ConfluxLink> for AnyRelayMsg
Available on crate feature conflux
only.
impl From<ConfluxLink> for AnyRelayMsg
conflux
only.Source§fn from(m: ConfluxLink) -> AnyRelayMsg
fn from(m: ConfluxLink) -> AnyRelayMsg
Source§impl From<ConfluxLinked> for AnyRelayMsg
Available on crate feature conflux
only.
impl From<ConfluxLinked> for AnyRelayMsg
conflux
only.Source§fn from(m: ConfluxLinked) -> AnyRelayMsg
fn from(m: ConfluxLinked) -> AnyRelayMsg
Source§impl From<ConfluxLinkedAck> for AnyRelayMsg
Available on crate feature conflux
only.
impl From<ConfluxLinkedAck> for AnyRelayMsg
conflux
only.Source§fn from(m: ConfluxLinkedAck) -> AnyRelayMsg
fn from(m: ConfluxLinkedAck) -> AnyRelayMsg
Source§impl From<ConfluxSwitch> for AnyRelayMsg
Available on crate feature conflux
only.
impl From<ConfluxSwitch> for AnyRelayMsg
conflux
only.Source§fn from(m: ConfluxSwitch) -> AnyRelayMsg
fn from(m: ConfluxSwitch) -> AnyRelayMsg
Source§impl From<ConnectUdp> for AnyRelayMsg
Available on crate feature experimental-udp
only.
impl From<ConnectUdp> for AnyRelayMsg
experimental-udp
only.Source§fn from(m: ConnectUdp) -> AnyRelayMsg
fn from(m: ConnectUdp) -> AnyRelayMsg
Source§impl From<Connected> for AnyRelayMsg
impl From<Connected> for AnyRelayMsg
Source§fn from(m: Connected) -> AnyRelayMsg
fn from(m: Connected) -> AnyRelayMsg
Source§impl From<ConnectedUdp> for AnyRelayMsg
Available on crate feature experimental-udp
only.
impl From<ConnectedUdp> for AnyRelayMsg
experimental-udp
only.Source§fn from(m: ConnectedUdp) -> AnyRelayMsg
fn from(m: ConnectedUdp) -> AnyRelayMsg
Source§impl From<Data> for AnyRelayMsg
impl From<Data> for AnyRelayMsg
Source§fn from(m: Data) -> AnyRelayMsg
fn from(m: Data) -> AnyRelayMsg
Source§impl From<Datagram> for AnyRelayMsg
Available on crate feature experimental-udp
only.
impl From<Datagram> for AnyRelayMsg
experimental-udp
only.Source§fn from(m: Datagram) -> AnyRelayMsg
fn from(m: Datagram) -> AnyRelayMsg
Source§impl From<Drop> for AnyRelayMsg
impl From<Drop> for AnyRelayMsg
Source§fn from(m: Drop) -> AnyRelayMsg
fn from(m: Drop) -> AnyRelayMsg
Source§impl From<End> for AnyRelayMsg
impl From<End> for AnyRelayMsg
Source§fn from(m: End) -> AnyRelayMsg
fn from(m: End) -> AnyRelayMsg
Source§impl From<EstablishIntro> for AnyRelayMsg
Available on crate feature hs
only.
impl From<EstablishIntro> for AnyRelayMsg
hs
only.Source§fn from(m: EstablishIntro) -> AnyRelayMsg
fn from(m: EstablishIntro) -> AnyRelayMsg
Source§impl From<EstablishRendezvous> for AnyRelayMsg
Available on crate feature hs
only.
impl From<EstablishRendezvous> for AnyRelayMsg
hs
only.Source§fn from(m: EstablishRendezvous) -> AnyRelayMsg
fn from(m: EstablishRendezvous) -> AnyRelayMsg
Source§impl From<Extend> for AnyRelayMsg
impl From<Extend> for AnyRelayMsg
Source§fn from(m: Extend) -> AnyRelayMsg
fn from(m: Extend) -> AnyRelayMsg
Source§impl From<Extend2> for AnyRelayMsg
impl From<Extend2> for AnyRelayMsg
Source§fn from(m: Extend2) -> AnyRelayMsg
fn from(m: Extend2) -> AnyRelayMsg
Source§impl From<Extended> for AnyRelayMsg
impl From<Extended> for AnyRelayMsg
Source§fn from(m: Extended) -> AnyRelayMsg
fn from(m: Extended) -> AnyRelayMsg
Source§impl From<Extended2> for AnyRelayMsg
impl From<Extended2> for AnyRelayMsg
Source§fn from(m: Extended2) -> AnyRelayMsg
fn from(m: Extended2) -> AnyRelayMsg
Source§impl From<IntroEstablished> for AnyRelayMsg
Available on crate feature hs
only.
impl From<IntroEstablished> for AnyRelayMsg
hs
only.Source§fn from(m: IntroEstablished) -> AnyRelayMsg
fn from(m: IntroEstablished) -> AnyRelayMsg
Source§impl From<Introduce1> for AnyRelayMsg
Available on crate feature hs
only.
impl From<Introduce1> for AnyRelayMsg
hs
only.Source§fn from(m: Introduce1) -> AnyRelayMsg
fn from(m: Introduce1) -> AnyRelayMsg
Source§impl From<Introduce2> for AnyRelayMsg
Available on crate feature hs
only.
impl From<Introduce2> for AnyRelayMsg
hs
only.Source§fn from(m: Introduce2) -> AnyRelayMsg
fn from(m: Introduce2) -> AnyRelayMsg
Source§impl From<IntroduceAck> for AnyRelayMsg
Available on crate feature hs
only.
impl From<IntroduceAck> for AnyRelayMsg
hs
only.Source§fn from(m: IntroduceAck) -> AnyRelayMsg
fn from(m: IntroduceAck) -> AnyRelayMsg
Source§impl From<Rendezvous1> for AnyRelayMsg
Available on crate feature hs
only.
impl From<Rendezvous1> for AnyRelayMsg
hs
only.Source§fn from(m: Rendezvous1) -> AnyRelayMsg
fn from(m: Rendezvous1) -> AnyRelayMsg
Source§impl From<Rendezvous2> for AnyRelayMsg
Available on crate feature hs
only.
impl From<Rendezvous2> for AnyRelayMsg
hs
only.Source§fn from(m: Rendezvous2) -> AnyRelayMsg
fn from(m: Rendezvous2) -> AnyRelayMsg
Source§impl From<RendezvousEstablished> for AnyRelayMsg
Available on crate feature hs
only.
impl From<RendezvousEstablished> for AnyRelayMsg
hs
only.Source§fn from(m: RendezvousEstablished) -> AnyRelayMsg
fn from(m: RendezvousEstablished) -> AnyRelayMsg
Source§impl From<Resolve> for AnyRelayMsg
impl From<Resolve> for AnyRelayMsg
Source§fn from(m: Resolve) -> AnyRelayMsg
fn from(m: Resolve) -> AnyRelayMsg
Source§impl From<Resolved> for AnyRelayMsg
impl From<Resolved> for AnyRelayMsg
Source§fn from(m: Resolved) -> AnyRelayMsg
fn from(m: Resolved) -> AnyRelayMsg
Source§impl From<Sendme> for AnyRelayMsg
impl From<Sendme> for AnyRelayMsg
Source§fn from(m: Sendme) -> AnyRelayMsg
fn from(m: Sendme) -> AnyRelayMsg
Source§impl From<Truncate> for AnyRelayMsg
impl From<Truncate> for AnyRelayMsg
Source§fn from(m: Truncate) -> AnyRelayMsg
fn from(m: Truncate) -> AnyRelayMsg
Source§impl From<Truncated> for AnyRelayMsg
impl From<Truncated> for AnyRelayMsg
Source§fn from(m: Truncated) -> AnyRelayMsg
fn from(m: Truncated) -> AnyRelayMsg
Source§impl From<Unrecognized> for AnyRelayMsg
impl From<Unrecognized> for AnyRelayMsg
Source§fn from(u: Unrecognized) -> AnyRelayMsg
fn from(u: Unrecognized) -> AnyRelayMsg
Source§impl HasMemoryCostStructural for AnyRelayMsg
impl HasMemoryCostStructural for AnyRelayMsg
Source§fn indirect_memory_cost(&self, et: EnabledToken) -> usize
fn indirect_memory_cost(&self, et: EnabledToken) -> usize
Source§impl RelayMsg for AnyRelayMsg
impl RelayMsg for AnyRelayMsg
Source§fn encode_onto<W>(self, w: &mut W) -> EncodeResult<()>
fn encode_onto<W>(self, w: &mut W) -> EncodeResult<()>
Source§impl TryFrom<AnyRelayMsg> for Begin
impl TryFrom<AnyRelayMsg> for Begin
Source§impl TryFrom<AnyRelayMsg> for BeginDir
impl TryFrom<AnyRelayMsg> for BeginDir
Source§impl TryFrom<AnyRelayMsg> for ConfluxLink
impl TryFrom<AnyRelayMsg> for ConfluxLink
Source§fn try_from(msg: AnyRelayMsg) -> Result<ConfluxLink>
fn try_from(msg: AnyRelayMsg) -> Result<ConfluxLink>
Source§impl TryFrom<AnyRelayMsg> for ConfluxLinked
impl TryFrom<AnyRelayMsg> for ConfluxLinked
Source§fn try_from(msg: AnyRelayMsg) -> Result<ConfluxLinked>
fn try_from(msg: AnyRelayMsg) -> Result<ConfluxLinked>
Source§impl TryFrom<AnyRelayMsg> for ConfluxLinkedAck
impl TryFrom<AnyRelayMsg> for ConfluxLinkedAck
Source§fn try_from(msg: AnyRelayMsg) -> Result<ConfluxLinkedAck>
fn try_from(msg: AnyRelayMsg) -> Result<ConfluxLinkedAck>
Source§impl TryFrom<AnyRelayMsg> for ConfluxSwitch
impl TryFrom<AnyRelayMsg> for ConfluxSwitch
Source§fn try_from(msg: AnyRelayMsg) -> Result<ConfluxSwitch>
fn try_from(msg: AnyRelayMsg) -> Result<ConfluxSwitch>
Source§impl TryFrom<AnyRelayMsg> for ConnectUdp
impl TryFrom<AnyRelayMsg> for ConnectUdp
Source§fn try_from(msg: AnyRelayMsg) -> Result<ConnectUdp>
fn try_from(msg: AnyRelayMsg) -> Result<ConnectUdp>
Source§impl TryFrom<AnyRelayMsg> for Connected
impl TryFrom<AnyRelayMsg> for Connected
Source§impl TryFrom<AnyRelayMsg> for ConnectedUdp
impl TryFrom<AnyRelayMsg> for ConnectedUdp
Source§fn try_from(msg: AnyRelayMsg) -> Result<ConnectedUdp>
fn try_from(msg: AnyRelayMsg) -> Result<ConnectedUdp>
Source§impl TryFrom<AnyRelayMsg> for Data
impl TryFrom<AnyRelayMsg> for Data
Source§impl TryFrom<AnyRelayMsg> for Datagram
impl TryFrom<AnyRelayMsg> for Datagram
Source§impl TryFrom<AnyRelayMsg> for Drop
impl TryFrom<AnyRelayMsg> for Drop
Source§impl TryFrom<AnyRelayMsg> for End
impl TryFrom<AnyRelayMsg> for End
Source§impl TryFrom<AnyRelayMsg> for EstablishIntro
impl TryFrom<AnyRelayMsg> for EstablishIntro
Source§fn try_from(msg: AnyRelayMsg) -> Result<EstablishIntro>
fn try_from(msg: AnyRelayMsg) -> Result<EstablishIntro>
Source§impl TryFrom<AnyRelayMsg> for EstablishRendezvous
impl TryFrom<AnyRelayMsg> for EstablishRendezvous
Source§fn try_from(msg: AnyRelayMsg) -> Result<EstablishRendezvous>
fn try_from(msg: AnyRelayMsg) -> Result<EstablishRendezvous>
Source§impl TryFrom<AnyRelayMsg> for Extend
impl TryFrom<AnyRelayMsg> for Extend
Source§impl TryFrom<AnyRelayMsg> for Extend2
impl TryFrom<AnyRelayMsg> for Extend2
Source§impl TryFrom<AnyRelayMsg> for Extended
impl TryFrom<AnyRelayMsg> for Extended
Source§impl TryFrom<AnyRelayMsg> for Extended2
impl TryFrom<AnyRelayMsg> for Extended2
Source§impl TryFrom<AnyRelayMsg> for IntroEstablished
impl TryFrom<AnyRelayMsg> for IntroEstablished
Source§fn try_from(msg: AnyRelayMsg) -> Result<IntroEstablished>
fn try_from(msg: AnyRelayMsg) -> Result<IntroEstablished>
Source§impl TryFrom<AnyRelayMsg> for Introduce1
impl TryFrom<AnyRelayMsg> for Introduce1
Source§fn try_from(msg: AnyRelayMsg) -> Result<Introduce1>
fn try_from(msg: AnyRelayMsg) -> Result<Introduce1>
Source§impl TryFrom<AnyRelayMsg> for Introduce2
impl TryFrom<AnyRelayMsg> for Introduce2
Source§fn try_from(msg: AnyRelayMsg) -> Result<Introduce2>
fn try_from(msg: AnyRelayMsg) -> Result<Introduce2>
Source§impl TryFrom<AnyRelayMsg> for IntroduceAck
impl TryFrom<AnyRelayMsg> for IntroduceAck
Source§fn try_from(msg: AnyRelayMsg) -> Result<IntroduceAck>
fn try_from(msg: AnyRelayMsg) -> Result<IntroduceAck>
Source§impl TryFrom<AnyRelayMsg> for Rendezvous1
impl TryFrom<AnyRelayMsg> for Rendezvous1
Source§fn try_from(msg: AnyRelayMsg) -> Result<Rendezvous1>
fn try_from(msg: AnyRelayMsg) -> Result<Rendezvous1>
Source§impl TryFrom<AnyRelayMsg> for Rendezvous2
impl TryFrom<AnyRelayMsg> for Rendezvous2
Source§fn try_from(msg: AnyRelayMsg) -> Result<Rendezvous2>
fn try_from(msg: AnyRelayMsg) -> Result<Rendezvous2>
Source§impl TryFrom<AnyRelayMsg> for RendezvousEstablished
impl TryFrom<AnyRelayMsg> for RendezvousEstablished
Source§fn try_from(msg: AnyRelayMsg) -> Result<RendezvousEstablished>
fn try_from(msg: AnyRelayMsg) -> Result<RendezvousEstablished>
Source§impl TryFrom<AnyRelayMsg> for Resolve
impl TryFrom<AnyRelayMsg> for Resolve
Source§impl TryFrom<AnyRelayMsg> for Resolved
impl TryFrom<AnyRelayMsg> for Resolved
Source§impl TryFrom<AnyRelayMsg> for Sendme
impl TryFrom<AnyRelayMsg> for Sendme
Source§impl TryFrom<AnyRelayMsg> for Truncate
impl TryFrom<AnyRelayMsg> for Truncate
Auto Trait Implementations§
impl Freeze for AnyRelayMsg
impl RefUnwindSafe for AnyRelayMsg
impl Send for AnyRelayMsg
impl Sync for AnyRelayMsg
impl Unpin for AnyRelayMsg
impl UnwindSafe for AnyRelayMsg
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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>
, 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> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> HasMemoryCost for Twhere
T: HasMemoryCostStructural,
impl<T> HasMemoryCost for Twhere
T: HasMemoryCostStructural,
§fn memory_cost(&self, et: EnabledToken) -> usize
fn memory_cost(&self, et: EnabledToken) -> usize
self
, in bytes Read more§impl<T> HasTypedMemoryCost<T> for Twhere
T: HasMemoryCost,
impl<T> HasTypedMemoryCost<T> for Twhere
T: HasMemoryCost,
§fn typed_memory_cost(&self, enabled: EnabledToken) -> TypedMemoryCost<T>
fn typed_memory_cost(&self, enabled: EnabledToken) -> TypedMemoryCost<T>
TypedMemoryCost<T>
rather than a raw usize
§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