class Fluent::EventRouter::Pipeline

def add_filter(filter)

def add_filter(filter)
  @filters << filter
  @optimizer.filters = @filters
end

def emit_events(tag, es)

def emit_events(tag, es)
  processed = @optimizer.filter_stream(tag, es)
  @output.emit_events(tag, processed)
end

def initialize

def initialize
  @filters = []
  @output = nil
  @optimizer = FilterOptimizer.new
end

def set_output(output)

def set_output(output)
  @output = output
end