code: func (mc *CCacheMetric) seekAsc(ts uint32) (uint32, bool) {
  	log.Debugf("CCacheMetric seekAsc: seeking for %d in the keys %+d", ts, mc.keys)
  
  	for i := 0; i < len(mc.keys) && mc.keys[i] <= ts; i++ {
  		if mc.nextTs(mc.keys[i]) > ts {
  			log.Debugf("CCacheMetric seekAsc: seek found ts %d is between %d and %d", ts, mc.keys[i], mc.nextTs(mc.keys[i]))
  			return mc.keys[i], true
  		}
  	}
  
  	log.Debug("CCacheMetric seekAsc: seekAsc unsuccessful")
  	return 0, false
  }
docs: // seekAsc finds the t0 of the chunk that contains ts, by searching from old to recent
  // if not found or can't be sure returns 0, false
  // assumes we already have at least a read lock