Class: Fluent::EventRouter::Pipeline::FilterOptimizer

Inherits:
Object
  • Object
show all
Defined in:
lib/fluent/event_router.rb

Instance Method Summary collapse

Constructor Details

#initialize(filters = []) ⇒ FilterOptimizer

Returns a new instance of FilterOptimizer.



164
165
166
167
# File 'lib/fluent/event_router.rb', line 164

def initialize(filters = [])
  @filters = filters
  @optimizable = nil
end

Instance Method Details

#filter_stream(tag, es) ⇒ Object



174
175
176
177
178
179
180
# File 'lib/fluent/event_router.rb', line 174

def filter_stream(tag, es)
  if optimizable?
    optimized_filter_stream(tag, es)
  else
    @filters.reduce(es) { |acc, filter| filter.filter_stream(tag, acc) }
  end
end

#filters=(filters) ⇒ Object



169
170
171
172
# File 'lib/fluent/event_router.rb', line 169

def filters=(filters)
  @filters = filters
  reset_optimization
end