fn remove(&mut self, cfg: &mut Config, prs: &mut ProgressMap, id: u64) {
        info!("remove node, id: {}", id);
        if !prs.contains_key(&id) {
            return;
        }
        cfg.voters.incoming.remove(&id);
        cfg.learners.remove(&id);
        cfg.learners_next.remove(&id);

        // If the peer is still a voter in the outgoing config, keep the Progress.
        if !cfg.voters.outgoing.contains(&id) {
            prs.remove(&id);
        }
    }
// remove this peer as a voter or leaner from the incoming config.
remove this peer as a voter or leaner from the incoming config.
remove this peer as a voter or leaner from the incoming config .
fn remove(&mut self, cfg: &mut Config, prs: &mut ProgressMap, id: u64) {
        info!("remove node, id: {}", id);
        if !prs.contains_key(&id) {
            return;
        }
        cfg.voters.incoming.remove(&id);
        cfg.learners.remove(&id);
        cfg.learners_next.remove(&id);
        // If the peer is still a voter in the outgoing config, keep the Progress.
        if !cfg.voters.outgoing.contains(&id) {
            prs.remove(&id);
        }
    }
fn remove ( & mut self , cfg : & mut Config , prs : & mut ProgressMap , id : u64 ) { info ! ( " " id ) ; if ! prs . contains_key ( & id ) { return ; } cfg . voters . incoming . remove ( & id ) ; cfg . learners . remove ( & id ) ; cfg . learners_next . remove ( & id ) ; // If the peer is still a voter in the outgoing config, keep the Progress. if ! cfg . voters . outgoing . contains ( & id ) { prs . remove ( & id ) ; } }
remove this peer as a voter or leaner from the incoming config.
remove this peer as a voter or leaner from the incoming config .
&mut self
cfg
&mut Config
prs
&mut ProgressMap
id
u64