Sha256: 2b4e150978c5d97241c4d29b210e371e6f0ca4e45b72d91a5624e98d9f6af6cc

Contents?: true

Size: 1.13 KB

Versions: 35

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

module Karafka
  module Patches
    module Rdkafka
      # Patches allowing us to run events on both pre and post rebalance events.
      # Thanks to that, we can easily connect to the whole flow despite of the moment when things
      # are happening
      module Opaque
        # Handles pre-assign phase of rebalance
        #
        # @param tpl [Rdkafka::Consumer::TopicPartitionList]
        def call_on_partitions_assign(tpl)
          return unless consumer_rebalance_listener
          return unless consumer_rebalance_listener.respond_to?(:on_partitions_assign)

          consumer_rebalance_listener.on_partitions_assign(tpl)
        end

        # Handles pre-revoke phase of rebalance
        #
        # @param tpl [Rdkafka::Consumer::TopicPartitionList]
        def call_on_partitions_revoke(tpl)
          return unless consumer_rebalance_listener
          return unless consumer_rebalance_listener.respond_to?(:on_partitions_revoke)

          consumer_rebalance_listener.on_partitions_revoke(tpl)
        end
      end
    end
  end
end

::Rdkafka::Opaque.include(
  Karafka::Patches::Rdkafka::Opaque
)

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
karafka-2.4.17 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.16 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.15 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.14 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.13 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.12 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.11 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.10 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.9 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.8 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.7 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.6 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.5 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.4 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.3 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.0 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.0.rc1 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.3.4 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.0.beta2 lib/karafka/patches/rdkafka/opaque.rb
karafka-2.4.0.beta1 lib/karafka/patches/rdkafka/opaque.rb