func (p *Backend) queryGetCacheEntry(param *specs.RrdQuery, resp *specs.RrdResp) (*cacheEntry, error) { // form empty response resp.Vs = []*specs.RRDData{} resp.Host = param.Host resp.Name = param.Name e := p.cache.get(param.Csum()) if e == nil { return nil, specs.ErrNoent } resp.Type = e.typ() resp.Step = int(e.e.step) param.Start = param.Start - param.Start%int64(resp.Step) param.End = param.End - param.End%int64(resp.Step) + int64(resp.Step) if param.End-param.Start-int64(resp.Step) < 1 { return nil, specs.ErrParam } return e, nil }