pub struct RelayCmd(/* private fields */);
Expand description
A command that identifies the type of a relay cell
Implementations§
Source§impl RelayCmd
impl RelayCmd
Sourcepub const CONNECT_UDP: RelayCmd
pub const CONNECT_UDP: RelayCmd
NOTE: UDP command are reserved but only used with experimental-udp feature UDP: Start of a stream
Sourcepub const CONNECTED_UDP: RelayCmd
pub const CONNECTED_UDP: RelayCmd
UDP: Acknowledge a CONNECT_UDP. Stream is open.
Sourcepub const CONFLUX_LINK: RelayCmd
pub const CONFLUX_LINK: RelayCmd
CONFLUX: Link circuits together at the receiving endpoint.
Sourcepub const CONFLUX_LINKED: RelayCmd
pub const CONFLUX_LINKED: RelayCmd
CONFLUX: Confirm that the circuits were linked.
Sourcepub const CONFLUX_LINKED_ACK: RelayCmd
pub const CONFLUX_LINKED_ACK: RelayCmd
CONFLUX: Acknowledge the linkage of the circuits, for RTT measurement.
Sourcepub const CONFLUX_SWITCH: RelayCmd
pub const CONFLUX_SWITCH: RelayCmd
CONFLUX: Switch to another leg in an already linked circuit construction.
Sourcepub const ESTABLISH_INTRO: RelayCmd
pub const ESTABLISH_INTRO: RelayCmd
HS: establish an introduction point.
Sourcepub const ESTABLISH_RENDEZVOUS: RelayCmd
pub const ESTABLISH_RENDEZVOUS: RelayCmd
HS: establish a rendezvous point.
Sourcepub const INTRODUCE1: RelayCmd
pub const INTRODUCE1: RelayCmd
HS: send introduction (client to introduction point)
Sourcepub const INTRODUCE2: RelayCmd
pub const INTRODUCE2: RelayCmd
HS: send introduction (introduction point to service)
Sourcepub const RENDEZVOUS1: RelayCmd
pub const RENDEZVOUS1: RelayCmd
HS: connect rendezvous point (service to rendezvous point)
Sourcepub const RENDEZVOUS2: RelayCmd
pub const RENDEZVOUS2: RelayCmd
HS: connect rendezvous point (rendezvous point to client)
Sourcepub const INTRO_ESTABLISHED: RelayCmd
pub const INTRO_ESTABLISHED: RelayCmd
HS: Response to ESTABLISH_INTRO
Sourcepub const RENDEZVOUS_ESTABLISHED: RelayCmd
pub const RENDEZVOUS_ESTABLISHED: RelayCmd
HS: Response to ESTABLISH_RENDEZVOUS
Sourcepub const INTRODUCE_ACK: RelayCmd
pub const INTRODUCE_ACK: RelayCmd
HS: Response to INTRODUCE1 from introduction point to client
Sourcepub const PADDING_NEGOTIATE: RelayCmd
pub const PADDING_NEGOTIATE: RelayCmd
Padding: declare what kind of padding we want
Sourcepub const PADDING_NEGOTIATED: RelayCmd
pub const PADDING_NEGOTIATED: RelayCmd
Padding: reply to a PADDING_NEGOTIATE
Sourcepub fn is_recognized(self) -> bool
pub fn is_recognized(self) -> bool
Return true if this value is one that we recognize.
Trait Implementations§
Source§impl HasMemoryCostStructural for RelayCmd
impl HasMemoryCostStructural for RelayCmd
Source§fn indirect_memory_cost(&self, et: EnabledToken) -> usize
fn indirect_memory_cost(&self, et: EnabledToken) -> usize
impl Copy for RelayCmd
impl Eq for RelayCmd
impl StructuralPartialEq for RelayCmd
Auto Trait Implementations§
impl Freeze for RelayCmd
impl RefUnwindSafe for RelayCmd
impl Send for RelayCmd
impl Sync for RelayCmd
impl Unpin for RelayCmd
impl UnwindSafe for RelayCmd
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> HasMemoryCost for Twhere
T: HasMemoryCostStructural,
impl<T> HasMemoryCost for Twhere
T: HasMemoryCostStructural,
Source§fn memory_cost(&self, et: EnabledToken) -> usize
fn memory_cost(&self, et: EnabledToken) -> usize
self
, in bytes Read moreSource§impl<T> HasTypedMemoryCost<T> for Twhere
T: HasMemoryCost,
impl<T> HasTypedMemoryCost<T> for Twhere
T: HasMemoryCost,
Source§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