Sha256: f64077ed992976934c7e2d79b3aae0df6017195fb711b67a315b068533aa1b0a

Contents?: true

Size: 663 Bytes

Versions: 9

Compression:

Stored size: 663 Bytes

Contents

# frozen_string_literal: true

module Racecar
  class DeliveryCallback
    attr_reader :instrumenter

    def initialize(instrumenter:)
      @instrumenter = instrumenter
    end

    def call(delivery_report)
      if delivery_report.error.to_i.zero?
        payload = {
          offset: delivery_report.offset,
          partition: delivery_report.partition
        }
        instrumenter.instrument("acknowledged_message", payload)
      else
        payload = {
          partition: delivery_report.partition,
          exception: delivery_report.error
        }
        instrumenter.instrument("produce_delivery_error", payload)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
racecar-2.11.0 lib/racecar/delivery_callback.rb
racecar-2.11.0.beta4 lib/racecar/delivery_callback.rb
racecar-2.11.0.beta3 lib/racecar/delivery_callback.rb
racecar-2.11.0.beta2 lib/racecar/delivery_callback.rb
racecar-2.11.0.beta1 lib/racecar/delivery_callback.rb
racecar-2.10.0 lib/racecar/delivery_callback.rb
racecar-2.10.0.beta2 lib/racecar/delivery_callback.rb
racecar-2.10.0.beta1 lib/racecar/delivery_callback.rb
racecar-2.9.0 lib/racecar/delivery_callback.rb