pub(crate) fn remove_satisfied_deps(&mut self, highway: &Highway<C>) -> ProtocolOutcomes<I, C> {
        let satisfied_deps = self
            .vertices_awaiting_deps
            .keys()
            .filter(|dep| highway.has_dependency(dep))
            .cloned()
            .collect_vec();
        // Safe to unwrap: We know the keys exist. TODO: Replace with BTreeMap::retain once stable.
        let pvs = satisfied_deps
            .into_iter()
            .flat_map(|dep| {
                self.requests_sent.remove(&dep);
                self.vertices_awaiting_deps.remove(&dep).unwrap()
            })
            .collect_vec();
        self.schedule_add_vertices(pvs)
    }
/// Moves all vertices whose known missing dependency is now satisfied into the
/// `vertices_to_be_added` queue.
Moves all vertices whose known missing dependency is now satisfied into the
`vertices_to_be_added` queue.
Moves all vertices whose known missing dependency is now satisfied into the ` vertices_to_be_added ` queue .
pub(crate) fn remove_satisfied_deps(&mut self, highway: &Highway<C>) -> ProtocolOutcomes<I, C> {
        let satisfied_deps = self
            .vertices_awaiting_deps
            .keys()
            .filter(|dep| highway.has_dependency(dep))
            .cloned()
            .collect_vec();
        // Safe to unwrap: We know the keys exist. TODO: Replace with BTreeMap::retain once stable.
        let pvs = satisfied_deps
            .into_iter()
            .flat_map(|dep| {
                self.requests_sent.remove(&dep);
                self.vertices_awaiting_deps.remove(&dep).unwrap()
            })
            .collect_vec();
        self.schedule_add_vertices(pvs)
    }
pub ( crate ) fn remove_satisfied_deps ( & mut self , highway : & Highway < C > ) -> ProtocolOutcomes < I , C > { let satisfied_deps = self . vertices_awaiting_deps . keys ( ) . filter ( | dep | highway . has_dependency ( dep ) ) . cloned ( ) . collect_vec ( ) ; // Safe to unwrap: We know the keys exist. TODO: Replace with BTreeMap::retain once stable. let pvs = satisfied_deps . into_iter ( ) . flat_map ( | dep | { self . requests_sent . remove ( & dep ) ; self . vertices_awaiting_deps . remove ( & dep ) . unwrap ( ) } ) . collect_vec ( ) ; self . schedule_add_vertices ( pvs ) }
Moves all vertices whose known missing dependency is now satisfied into the
`vertices_to_be_added` queue.
Moves all vertices whose known missing dependency is now satisfied into the ` vertices_to_be_added ` queue .
&mut self
highway
&Highway<C>
&mut self
highway
&Highway<C>