pub enum CircPurpose {
General,
HsClientIntro,
HsClientRend,
HsServiceIntro,
HsServiceRend,
Testing,
Controller,
MeasureTimeout,
HsVanguards,
PathBiasTesting,
CircuitPadding,
}Expand description
Purpose of a circuit.
Describes what a circuit is intended for. Introduced in Tor version 0.2.1.6.
§Example
use stem_rs::CircPurpose;
let purpose = CircPurpose::General;
println!("Circuit purpose: {}", purpose); // Prints "GENERAL"Variants§
General
General client traffic or fetching directory information.
Standard circuits used for normal Tor operations.
HsClientIntro
Client-side introduction point for a hidden service circuit.
Used when connecting to a hidden service’s introduction point.
HsClientRend
Client-side hidden service rendezvous circuit.
Used for the rendezvous connection when accessing a hidden service.
HsServiceIntro
Server-side introduction point for a hidden service circuit.
Used by hidden services to establish introduction points.
HsServiceRend
Server-side hidden service rendezvous circuit.
Used by hidden services for rendezvous connections.
Testing
Testing to see if we’re reachable as a relay.
Self-test circuits to verify relay reachability.
Controller
Circuit that was built by a controller.
Explicitly created via the control protocol.
MeasureTimeout
Circuit being kept around to measure timeout.
Used for circuit build time measurement.
HsVanguards
Constructed in advance for hidden service vanguards.
Pre-built circuits for vanguard protection.
PathBiasTesting
Probing if circuits are being maliciously closed.
Used to detect path bias attacks.
CircuitPadding
Circuit is unused but remains open to disguise closure time.
Padding circuits to prevent traffic analysis.
Trait Implementations§
Source§impl Clone for CircPurpose
impl Clone for CircPurpose
Source§fn clone(&self) -> CircPurpose
fn clone(&self) -> CircPurpose
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more