github.com/observiq/carbon@v0.9.11-0.20200820160507-1b872e368a5e/operator/builtin/output/drop.go (about) 1 package output 2 3 import ( 4 "context" 5 6 "github.com/observiq/carbon/entry" 7 "github.com/observiq/carbon/operator" 8 "github.com/observiq/carbon/operator/helper" 9 ) 10 11 func init() { 12 operator.Register("drop_output", func() operator.Builder { return NewDropOutputConfig("") }) 13 } 14 15 func NewDropOutputConfig(operatorID string) *DropOutputConfig { 16 return &DropOutputConfig{ 17 OutputConfig: helper.NewOutputConfig(operatorID, "drop_output"), 18 } 19 } 20 21 // DropOutputConfig is the configuration of a drop output operator. 22 type DropOutputConfig struct { 23 helper.OutputConfig `yaml:",inline"` 24 } 25 26 // Build will build a drop output operator. 27 func (c DropOutputConfig) Build(context operator.BuildContext) (operator.Operator, error) { 28 outputOperator, err := c.OutputConfig.Build(context) 29 if err != nil { 30 return nil, err 31 } 32 33 dropOutput := &DropOutput{ 34 OutputOperator: outputOperator, 35 } 36 37 return dropOutput, nil 38 } 39 40 // DropOutput is an operator that consumes and ignores incoming entries. 41 type DropOutput struct { 42 helper.OutputOperator 43 } 44 45 // Process will drop the incoming entry. 46 func (p *DropOutput) Process(ctx context.Context, entry *entry.Entry) error { 47 return nil 48 }