Enum tor_cell::chancell::msg::ChanMsg [−][src]
#[non_exhaustive]
pub enum ChanMsg {
Show 19 variants
Padding(Padding),
VPadding(VPadding),
Create(Create),
CreateFast(CreateFast),
Create2(Create2),
Created(Created),
CreatedFast(CreatedFast),
Created2(Created2),
Relay(Relay),
RelayEarly(Relay),
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)
Tuple Fields
0: PaddingA Padding message
VPadding(VPadding)
Tuple Fields
0: VPaddingVariable-length padding message
Create(Create)
Tuple Fields
0: Create(Deprecated) TAP-based cell to create a new circuit.
CreateFast(CreateFast)
Tuple Fields
0: CreateFast(Mostly deprecated) HMAC-based cell to create a new circuit.
Create2(Create2)
Tuple Fields
0: Create2Cell to create a new circuit
Created(Created)
Tuple Fields
0: Created(Deprecated) Answer to a Create cell
CreatedFast(CreatedFast)
Tuple Fields
0: CreatedFast(Mostly Deprecated) Answer to a CreateFast cell
Created2(Created2)
Tuple Fields
0: Created2Answer to a Create2 cell
Relay(Relay)
Tuple Fields
0: RelayA message sent along a circuit, likely to a more-distant relay.
RelayEarly(Relay)
Tuple Fields
0: RelayA message sent along a circuit (limited supply)
Destroy(Destroy)
Tuple Fields
0: DestroyTear down a circuit
Netinfo(Netinfo)
Tuple Fields
0: NetinfoPart of channel negotiation: describes our position on the network
Versions(Versions)
Tuple Fields
0: VersionsPart of channel negotiation: describes what link protocol versions we support
PaddingNegotiate(PaddingNegotiate)
Tuple Fields
Negotiates what kind of channel padding to send
Certs(Certs)
Tuple Fields
0: CertsPart of channel negotiation: additional certificates not in the TLS handshake
AuthChallenge(AuthChallenge)
Tuple Fields
Part of channel negotiation: additional random material to be used as part of authentication
Authenticate(Authenticate)
Tuple Fields
0: AuthenticatePart of channel negotiation: used to authenticate relays when they initiate the channel.
Authorize(Authorize)
Tuple Fields
0: AuthorizeNot yet used
Unrecognized(Unrecognized)
Tuple Fields
0: UnrecognizedAny cell whose command we don’t recognize
Implementations
Write the body of this message (not including length or command).
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ChanMsg
impl UnwindSafe for ChanMsg
Blanket Implementations
Mutably borrows from an owned value. Read more