pub struct DivergenceResult {
pub target: String,
pub target_ip: IpAddr,
pub protocols_used: Vec<DivergenceProtocol>,
pub hops: Vec<DivergenceHop>,
pub first_divergence_hop: Option<u8>,
pub path_divergence_score: f64,
pub all_reached_destination: bool,
pub protocols_reached: Vec<DivergenceProtocol>,
pub total_time: Duration,
}Expand description
Complete divergence analysis result
Fields§
§target: String§target_ip: IpAddr§protocols_used: Vec<DivergenceProtocol>§hops: Vec<DivergenceHop>§first_divergence_hop: Option<u8>First hop where divergence occurs (1-indexed)
path_divergence_score: f64Overall path divergence score (0.0 = no divergence, 1.0 = complete divergence)
all_reached_destination: boolWhether destination was reached by all protocols
protocols_reached: Vec<DivergenceProtocol>Protocols that reached destination
total_time: DurationImplementations§
Source§impl DivergenceResult
impl DivergenceResult
Sourcepub fn divergence_point(&self) -> Option<&DivergenceHop>
pub fn divergence_point(&self) -> Option<&DivergenceHop>
Get the hop where divergence starts
Sourcepub fn protocol_reached(&self, protocol: DivergenceProtocol) -> bool
pub fn protocol_reached(&self, protocol: DivergenceProtocol) -> bool
Check if a specific protocol reached the destination
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DivergenceResult
impl RefUnwindSafe for DivergenceResult
impl Send for DivergenceResult
impl Sync for DivergenceResult
impl Unpin for DivergenceResult
impl UnsafeUnpin for DivergenceResult
impl UnwindSafe for DivergenceResult
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
Mutably borrows from an owned value. Read more