fn traverse_children_mut<F>(
    db: &Database,
    slot_meta: &Rc<RefCell<SlotMeta>>,
    working_set: &HashMap<u64, SlotMetaWorkingSetEntry>,
    passed_visisted_slots: &mut HashMap<u64, Rc<RefCell<SlotMeta>>>,
    slot_function: F
) -> Result<()>where
    F: Fn(&mut SlotMeta) -> bool,
Expand description

Traverse all the children (direct and indirect) of slot_meta, and apply slot_function to each of the children (but not slot_meta).

Arguments: db: the blockstore db that stores shreds and their metadata. slot_meta: the SlotMeta of the above slot. working_set: a slot-id to SlotMetaWorkingSetEntry map which is used to traverse the graph. passed_visited_slots: all the traversed slots which have passed the slot_function. This may also include the input slot. slot_function: a function which updates the SlotMeta of the visisted slots and determine whether to further traverse the children slots of a given slot.