Class: Karafka::Pro::Routing::Features::VirtualPartitions::Config

Inherits:
Struct
  • Object
show all
Defined in:
lib/karafka/pro/routing/features/virtual_partitions/config.rb

Overview

Configuration for virtual partitions feature

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#activeObject

Returns the value of attribute active

Returns:

  • (Object)

    the current value of active



12
13
14
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 12

def active
  @active
end

#distributionObject

Returns the value of attribute distribution

Returns:

  • (Object)

    the current value of distribution



12
13
14
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 12

def distribution
  @distribution
end

#max_partitionsObject

Returns the value of attribute max_partitions

Returns:

  • (Object)

    the current value of max_partitions



12
13
14
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 12

def max_partitions
  @max_partitions
end

#offset_metadata_strategyObject

Returns the value of attribute offset_metadata_strategy

Returns:

  • (Object)

    the current value of offset_metadata_strategy



12
13
14
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 12

def 
  @offset_metadata_strategy
end

#partitionerObject

Returns the value of attribute partitioner

Returns:

  • (Object)

    the current value of partitioner



12
13
14
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 12

def partitioner
  @partitioner
end

#reducerObject

Returns the value of attribute reducer

Returns:

  • (Object)

    the current value of reducer



12
13
14
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 12

def reducer
  @reducer
end

Instance Method Details

#active?Boolean

Returns is this feature active.

Returns:

  • (Boolean)

    is this feature active



22
23
24
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 22

def active?
  active
end

#distributorObject

Returns distributor instance for the current distribution.

Returns:

  • (Object)

    distributor instance for the current distribution



27
28
29
30
31
32
33
34
35
36
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 27

def distributor
  @distributor ||= case distribution
                   when :balanced
                     Processing::VirtualPartitions::Distributors::Balanced.new(self)
                   when :consistent
                     Processing::VirtualPartitions::Distributors::Consistent.new(self)
                   else
                     raise Karafka::Errors::UnsupportedCaseError, distribution
                   end
end