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.



157
158
159
160
# File 'lib/fluent/event_router.rb', line 157

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

Instance Method Details

#filter_stream(tag, es) ⇒ Object



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

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



162
163
164
165
# File 'lib/fluent/event_router.rb', line 162

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