class Poseidon::ProducerCompressionConfig
@api private
Constants
- COMPRESSION_CODEC_MAP
Public Class Methods
new(compression_codec, compressed_topics)
click to toggle source
# File lib/poseidon/producer_compression_config.rb, line 10 def initialize(compression_codec, compressed_topics) if compression_codec unless COMPRESSION_CODEC_MAP.has_key?(compression_codec) raise ArgumentError, "Unknown compression codec: '#{compression_codec}' (accepted: #{COMPRESSION_CODEC_MAP.keys.inspect})" end @compression_codec = COMPRESSION_CODEC_MAP[compression_codec] else @compression_codec = nil end if compressed_topics @compressed_topics = Set.new(compressed_topics) else @compressed_topics = nil end end
Public Instance Methods
compression_codec_for_topic(topic)
click to toggle source
# File lib/poseidon/producer_compression_config.rb, line 27 def compression_codec_for_topic(topic) return false if @compression_codec.nil? if @compressed_topics.nil? || (@compressed_topics && @compressed_topics.include?(topic)) @compression_codec else false end end