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 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
Memory cost of data stored out-of-line Read more
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
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> 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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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
Returns the memory cost of
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>
The cost, as a
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>
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