class LogStash::Inputs::BeatsSupport::CodecCallbackListener

so we can retain some context of the execution, and make it easier to test
Use the new callback based approch instead of using blocks

def initialize(data, hash, path, transformer, queue)

def initialize(data, hash, path, transformer, queue)
  @data = data
  @hash = hash 
  @path = path
  @queue = queue
  @transformer = transformer
end

def process_event(event)

def process_event(event)
  @transformer.transform(event, @hash)
  raise LogStash::Inputs::Beats::InsertingToQueueTakeTooLong if !@queue.offer(event)
end