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)A Padding message
Tuple Fields of Padding
0: PaddingVPadding(VPadding)Variable-length padding message
Tuple Fields of VPadding
0: VPaddingCreate(Create)(Deprecated) TAP-based cell to create a new circuit.
Tuple Fields of Create
0: CreateCreateFast(CreateFast)(Mostly deprecated) HMAC-based cell to create a new circuit.
Tuple Fields of CreateFast
0: CreateFastCreate2(Create2)Cell to create a new circuit
Tuple Fields of Create2
0: Create2Created(Created)(Deprecated) Answer to a Create cell
Tuple Fields of Created
0: CreatedCreatedFast(CreatedFast)(Mostly Deprecated) Answer to a CreateFast cell
Tuple Fields of CreatedFast
0: CreatedFastCreated2(Created2)Answer to a Create2 cell
Tuple Fields of Created2
0: Created2Relay(Relay)A message sent along a circuit, likely to a more-distant relay.
Tuple Fields of Relay
0: RelayRelayEarly(Relay)A message sent along a circuit (limited supply)
Tuple Fields of RelayEarly
0: RelayDestroy(Destroy)Tear down a circuit
Tuple Fields of Destroy
0: DestroyNetinfo(Netinfo)Part of channel negotiation: describes our position on the network
Tuple Fields of Netinfo
0: NetinfoVersions(Versions)Part of channel negotiation: describes what link protocol versions we support
Tuple Fields of Versions
0: VersionsPaddingNegotiate(PaddingNegotiate)Negotiates what kind of channel padding to send
Tuple Fields of PaddingNegotiate
Certs(Certs)Part of channel negotiation: additional certificates not in the TLS handshake
Tuple Fields of Certs
0: CertsAuthChallenge(AuthChallenge)Part of channel negotiation: additional random material to be used as part of authentication
Tuple Fields of AuthChallenge
Authenticate(Authenticate)Part of channel negotiation: used to authenticate relays when they initiate the channel.
Tuple Fields of Authenticate
0: AuthenticateAuthorize(Authorize)Not yet used
Tuple Fields of Authorize
0: AuthorizeUnrecognized(Unrecognized)Any cell whose command we don’t recognize
Tuple Fields of Unrecognized
0: UnrecognizedImplementations
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