pub struct ImpactWalkResult {
pub visited: SeqMap<VisitedEntry>,
pub fwd_adj: HashMap<String, HashSet<String>>,
pub seed_files: SeqSet<String>,
pub braked: Vec<BrakedIface>,
pub braked_files: Vec<BrakedFile>,
}Expand description
The result of an impact walk.
Fields§
§visited: SeqMap<VisitedEntry>Visited files in discovery order across hops (the first hop a file is
hit wins its slot). build_impact_model reads these keys in order to
build the PPR nodes array, so this order is directly
float-accumulation-order-visible downstream (see module header).
fwd_adj: HashMap<String, HashSet<String>>The file-level subgraph in the blast-radius direction. A plain
HashMap<_, HashSet<_>> because – unlike visited/frontier – an
out-edge set’s iteration order does NOT affect
personalized_page_rank’s float accumulation (each target in one node’s
out-set gets exactly one independent +=), so no ordering wrapper is
needed here.
seed_files: SeqSet<String>The seed files, in seed_ids order flat-mapped through def_files.
braked: Vec<BrakedIface>The interfaces the walk refused to widen through.
braked_files: Vec<BrakedFile>The hub files the walk refused to widen through.
Auto Trait Implementations§
impl Freeze for ImpactWalkResult
impl RefUnwindSafe for ImpactWalkResult
impl Send for ImpactWalkResult
impl Sync for ImpactWalkResult
impl Unpin for ImpactWalkResult
impl UnsafeUnpin for ImpactWalkResult
impl UnwindSafe for ImpactWalkResult
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more