Enum tor_cell::chancell::msg::AnyChanMsg
source · #[non_exhaustive]pub enum AnyChanMsg {
Show 19 variants
Padding(Padding),
Vpadding(Vpadding),
Create(Create),
CreateFast(CreateFast),
Create2(Create2),
Created(Created),
CreatedFast(CreatedFast),
Created2(Created2),
Relay(Relay),
RelayEarly(RelayEarly),
Destroy(Destroy),
Netinfo(Netinfo),
Versions(Versions),
PaddingNegotiate(PaddingNegotiate),
Certs(Certs),
AuthChallenge(AuthChallenge),
Authenticate(Authenticate),
Authorize(Authorize),
Unrecognized(Unrecognized),
}
Expand description
Decoded message from a channel.
A ChanMsg is an item received on a channel – a message from another Tor client or relay that we are connected to directly over a TLS connection.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Padding(Padding)
A Padding message
Vpadding(Vpadding)
Variable-length padding message
Create(Create)
(Deprecated) TAP-based cell to create a new circuit.
CreateFast(CreateFast)
(Mostly deprecated) HMAC-based cell to create a new circuit.
Create2(Create2)
Cell to create a new circuit
Created(Created)
(Deprecated) Answer to a Create cell
CreatedFast(CreatedFast)
(Mostly Deprecated) Answer to a CreateFast cell
Created2(Created2)
Answer to a Create2 cell
Relay(Relay)
A message sent along a circuit, likely to a more-distant relay.
RelayEarly(RelayEarly)
A message sent along a circuit (limited supply)
Destroy(Destroy)
Tear down a circuit
Netinfo(Netinfo)
Part of channel negotiation: describes our position on the network
Versions(Versions)
Part of channel negotiation: describes what link protocol versions we support
PaddingNegotiate(PaddingNegotiate)
Negotiates what kind of channel padding to send
Certs(Certs)
Part of channel negotiation: additional certificates not in the TLS handshake
AuthChallenge(AuthChallenge)
Part of channel negotiation: additional random material to be used as part of authentication
Authenticate(Authenticate)
Part of channel negotiation: used to authenticate relays when they initiate the channel.
Authorize(Authorize)
Not yet used
Unrecognized(Unrecognized)
Any cell whose command we don’t recognize
Trait Implementations§
source§impl ChanMsg for AnyChanMsg
impl ChanMsg for AnyChanMsg
source§fn encode_onto<W>(self, w: &mut W) -> EncodeResult<()>
fn encode_onto<W>(self, w: &mut W) -> EncodeResult<()>
source§impl Clone for AnyChanMsg
impl Clone for AnyChanMsg
source§fn clone(&self) -> AnyChanMsg
fn clone(&self) -> AnyChanMsg
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AnyChanMsg
impl Debug for AnyChanMsg
source§impl From<AuthChallenge> for AnyChanMsg
impl From<AuthChallenge> for AnyChanMsg
source§fn from(m: AuthChallenge) -> AnyChanMsg
fn from(m: AuthChallenge) -> AnyChanMsg
source§impl From<Authenticate> for AnyChanMsg
impl From<Authenticate> for AnyChanMsg
source§fn from(m: Authenticate) -> AnyChanMsg
fn from(m: Authenticate) -> AnyChanMsg
source§impl From<Authorize> for AnyChanMsg
impl From<Authorize> for AnyChanMsg
source§fn from(m: Authorize) -> AnyChanMsg
fn from(m: Authorize) -> AnyChanMsg
source§impl From<Certs> for AnyChanMsg
impl From<Certs> for AnyChanMsg
source§fn from(m: Certs) -> AnyChanMsg
fn from(m: Certs) -> AnyChanMsg
source§impl From<Create> for AnyChanMsg
impl From<Create> for AnyChanMsg
source§fn from(m: Create) -> AnyChanMsg
fn from(m: Create) -> AnyChanMsg
source§impl From<Create2> for AnyChanMsg
impl From<Create2> for AnyChanMsg
source§fn from(m: Create2) -> AnyChanMsg
fn from(m: Create2) -> AnyChanMsg
source§impl From<CreateFast> for AnyChanMsg
impl From<CreateFast> for AnyChanMsg
source§fn from(m: CreateFast) -> AnyChanMsg
fn from(m: CreateFast) -> AnyChanMsg
source§impl From<Created> for AnyChanMsg
impl From<Created> for AnyChanMsg
source§fn from(m: Created) -> AnyChanMsg
fn from(m: Created) -> AnyChanMsg
source§impl From<Created2> for AnyChanMsg
impl From<Created2> for AnyChanMsg
source§fn from(m: Created2) -> AnyChanMsg
fn from(m: Created2) -> AnyChanMsg
source§impl From<CreatedFast> for AnyChanMsg
impl From<CreatedFast> for AnyChanMsg
source§fn from(m: CreatedFast) -> AnyChanMsg
fn from(m: CreatedFast) -> AnyChanMsg
source§impl From<Destroy> for AnyChanMsg
impl From<Destroy> for AnyChanMsg
source§fn from(m: Destroy) -> AnyChanMsg
fn from(m: Destroy) -> AnyChanMsg
source§impl From<Netinfo> for AnyChanMsg
impl From<Netinfo> for AnyChanMsg
source§fn from(m: Netinfo) -> AnyChanMsg
fn from(m: Netinfo) -> AnyChanMsg
source§impl From<Padding> for AnyChanMsg
impl From<Padding> for AnyChanMsg
source§fn from(m: Padding) -> AnyChanMsg
fn from(m: Padding) -> AnyChanMsg
source§impl From<PaddingNegotiate> for AnyChanMsg
impl From<PaddingNegotiate> for AnyChanMsg
source§fn from(m: PaddingNegotiate) -> AnyChanMsg
fn from(m: PaddingNegotiate) -> AnyChanMsg
source§impl From<Relay> for AnyChanMsg
impl From<Relay> for AnyChanMsg
source§fn from(m: Relay) -> AnyChanMsg
fn from(m: Relay) -> AnyChanMsg
source§impl From<RelayEarly> for AnyChanMsg
impl From<RelayEarly> for AnyChanMsg
source§fn from(m: RelayEarly) -> AnyChanMsg
fn from(m: RelayEarly) -> AnyChanMsg
source§impl From<Unrecognized> for AnyChanMsg
impl From<Unrecognized> for AnyChanMsg
source§fn from(u: Unrecognized) -> AnyChanMsg
fn from(u: Unrecognized) -> AnyChanMsg
source§impl From<Versions> for AnyChanMsg
impl From<Versions> for AnyChanMsg
source§fn from(m: Versions) -> AnyChanMsg
fn from(m: Versions) -> AnyChanMsg
source§impl From<Vpadding> for AnyChanMsg
impl From<Vpadding> for AnyChanMsg
source§fn from(m: Vpadding) -> AnyChanMsg
fn from(m: Vpadding) -> AnyChanMsg
Auto Trait Implementations§
impl Freeze for AnyChanMsg
impl RefUnwindSafe for AnyChanMsg
impl Send for AnyChanMsg
impl Sync for AnyChanMsg
impl Unpin for AnyChanMsg
impl UnwindSafe for AnyChanMsg
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§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