Struct tor_cell::chancell::msg::Versions [−][src]
pub struct Versions { /* fields omitted */ }
Expand description
A Versions message begins channel negotiation.
Every channel must begin by sending a Versions message. This message lists the link protocol versions that this Tor implementation supports.
Note that we should never actually send Versions cells using the usual channel cell encoding: Versions cells always use two-byte circuit IDs, whereas all the other cell types use four-byte circuit IDs [assuming a non-obsolete version is negotiated].
Implementations
Construct a new Versions message using a provided list of link protocols
Encode this VERSIONS cell in the manner expected for a handshake.
(That’s different from a standard cell encoding, since we have not negotiated versions yet, and so our circuit-ID length is an obsolete 2 bytes).
Return the best (numerically highest) link protocol that is shared by this versions cell and my_protos.
Trait Implementations
Convert this type into a ChanMsg, wrapped as appropriate.
Auto Trait Implementations
impl RefUnwindSafe for Versions
impl UnwindSafe for Versions
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V