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



29
30
31
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 29

def active
  @active
end

#distributionObject

Returns the value of attribute distribution

Returns:

  • (Object)

    the current value of distribution



29
30
31
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 29

def distribution
  @distribution
end

#max_partitionsObject

Returns the value of attribute max_partitions

Returns:

  • (Object)

    the current value of max_partitions



29
30
31
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 29

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



29
30
31
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 29

def 
  @offset_metadata_strategy
end

#partitionerObject

Returns the value of attribute partitioner

Returns:

  • (Object)

    the current value of partitioner



29
30
31
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 29

def partitioner
  @partitioner
end

#reducerObject

Returns the value of attribute reducer

Returns:

  • (Object)

    the current value of reducer



29
30
31
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 29

def reducer
  @reducer
end

Instance Method Details

#active?Boolean

Returns is this feature active.

Returns:

  • (Boolean)

    is this feature active



39
40
41
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 39

def active?
  active
end

#distributorObject

Returns distributor instance for the current distribution.

Returns:

  • (Object)

    distributor instance for the current distribution



44
45
46
47
48
49
50
51
52
53
# File 'lib/karafka/pro/routing/features/virtual_partitions/config.rb', line 44

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