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

Inherits:
Struct
  • Object
show all
Defined in:
lib/karafka/pro/routing/features/consumer_groups/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



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

def active
  @active
end

#distributionObject

Returns the value of attribute distribution

Returns:

  • (Object)

    the current value of distribution



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

def distribution
  @distribution
end

#max_partitionsObject

Returns the value of attribute max_partitions

Returns:

  • (Object)

    the current value of max_partitions



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

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



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

def 
  @offset_metadata_strategy
end

#partitionerObject

Returns the value of attribute partitioner

Returns:

  • (Object)

    the current value of partitioner



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

def partitioner
  @partitioner
end

#reducerObject

Returns the value of attribute reducer

Returns:

  • (Object)

    the current value of reducer



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

def reducer
  @reducer
end

Instance Method Details

#active?Boolean

Returns is this feature active.

Returns:

  • (Boolean)

    is this feature active



48
49
50
# File 'lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/config.rb', line 48

def active?
  active
end

#distributorObject

Returns distributor instance for the current distribution.

Returns:

  • (Object)

    distributor instance for the current distribution



53
54
55
56
57
58
59
60
61
62
# File 'lib/karafka/pro/routing/features/consumer_groups/virtual_partitions/config.rb', line 53

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