code: func (r *BloomRequest) Request(reqID uint64, peer *peer) error {
  	peer.Log().Debug("Requesting BloomBits", "bloomTrie", r.BloomTrieNum, "bitIdx", r.BitIdx, "sections", r.SectionIndexList)
  	reqs := make([]HelperTrieReq, len(r.SectionIndexList))
  
  	var encNumber [10]byte
  	binary.BigEndian.PutUint16(encNumber[:2], uint16(r.BitIdx))
  
  	for i, sectionIdx := range r.SectionIndexList {
  		binary.BigEndian.PutUint64(encNumber[2:], sectionIdx)
  		reqs[i] = HelperTrieReq{
  			Type:    htBloomBits,
  			TrieIdx: r.BloomTrieNum,
  			Key:     common.CopyBytes(encNumber[:]),
  		}
  	}
  	return peer.RequestHelperTrieProofs(reqID, r.GetCost(peer), reqs)
  }
docs: // Request sends an ODR request to the LES network (implementation of LesOdrRequest)