code: func (s *Sync) commit(req *request) (err error) {
  	// Write the node content to the membatch
  	s.membatch.batch[req.hash] = req.data
  	s.membatch.order = append(s.membatch.order, req.hash)
  
  	delete(s.requests, req.hash)
  
  	// Check all parents for completion
  	for _, parent := range req.parents {
  		parent.deps--
  		if parent.deps == 0 {
  			if err := s.commit(parent); err != nil {
  				return err
  			}
  		}
  	}
  	return nil
  }
docs: // commit finalizes a retrieval request and stores it into the membatch. If any
  // of the referencing parent requests complete due to this commit, they are also
  // committed themselves.