示例#1
0
文件: api_rpc.go 项目: yubo/falcon
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
}