package gen import ( "github.com/influxdata/influxdb/models" "github.com/influxdata/influxdb/tsdb/cursors" ) {{range .}} type {{.Name}}ValuesSequence interface { Reset() Write(v []{{.Type}}) } type time{{.Name}}ValuesSequence struct { vals {{.name}}Array ts TimestampSequence vs {{.Name}}ValuesSequence count int n int } func NewTime{{.Name}}ValuesSequence(count int, ts TimestampSequence, vs {{.Name}}ValuesSequence) TimeValuesSequence { return &time{{.Name}}ValuesSequence{ vals: *new{{.Name}}ArrayLen(cursors.DefaultMaxPointsPerBlock), ts: ts, vs: vs, count: count, n: count, } } func (s *time{{.Name}}ValuesSequence) Reset() { s.ts.Reset() s.vs.Reset() s.n = s.count } func (s *time{{.Name}}ValuesSequence) Next() bool { if s.n > 0 { c := min(s.n, cursors.DefaultMaxPointsPerBlock) s.n -= c s.vals.Timestamps = s.vals.Timestamps[:c] s.vals.Values = s.vals.Values[:c] s.ts.Write(s.vals.Timestamps) s.vs.Write(s.vals.Values) return true } return false } func (s *time{{.Name}}ValuesSequence) Values() Values { return &s.vals } func (s *time{{.Name}}ValuesSequence) ValueType() models.FieldType { return models.{{.Name}} } {{end}}