func CreateTicker(decl udf.UDSFDeclarer, i data.Value) (udf.UDSF, error) { interval, err := data.ToDuration(i) if err != nil { return nil, err } return &Ticker{ interval: interval, }, nil }
func CreateLoremSource(ctx *core.Context, ioParams *bql.IOParams, params data.Map) (core.Source, error) { interval := 1 * time.Microsecond if v, ok := params["interval"]; ok { i, err := data.ToDuration(v) if err != nil { return nil, err } interval = i } return core.ImplementSourceStop(&LoremSource{ interval: interval, }), nil }
func CreateCollector(decl udf.UDSFDeclarer, inputStream, field string, i data.Value) (udf.UDSF, error) { interval, err := data.ToDuration(i) if err != nil { return nil, err } // cannot understand yet if err := decl.Input(inputStream, nil); err != nil { return nil, err } return &Collector{ interval: interval, check: int(time.Now().Nanosecond() / 1e+8), }, nil }