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



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

def active
  @active
end

#distributionObject

Returns the value of attribute distribution

Returns:

  • (Object)

    the current value of distribution



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

def distribution
  @distribution
end

#max_partitionsObject

Returns the value of attribute max_partitions

Returns:

  • (Object)

    the current value of max_partitions



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

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



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

def 
  @offset_metadata_strategy
end

#partitionerObject

Returns the value of attribute partitioner

Returns:

  • (Object)

    the current value of partitioner



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

def partitioner
  @partitioner
end

#reducerObject

Returns the value of attribute reducer

Returns:

  • (Object)

    the current value of reducer



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

def reducer
  @reducer
end

Instance Method Details

#active?Boolean

Returns is this feature active.

Returns:

  • (Boolean)

    is this feature active



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

def active?
  active
end

#distributorObject

Returns distributor instance for the current distribution.

Returns:

  • (Object)

    distributor instance for the current distribution



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

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