Sha256: 950f6983462a94e53a919f524a130fa9e63b94f300f4da3cea25b4fb79f6287f
Contents?: true
Size: 968 Bytes
Versions: 3
Compression:
Stored size: 968 Bytes
Contents
require "kafka/broker" module Kafka class BrokerPool def initialize(client_id:, connect_timeout: nil, socket_timeout: nil, logger:, ssl_context: nil) @client_id = client_id @connect_timeout = connect_timeout @socket_timeout = socket_timeout @logger = logger @brokers = {} @ssl_context = ssl_context end def connect(host, port, node_id: nil) return @brokers.fetch(node_id) if @brokers.key?(node_id) broker = Broker.connect( host: host, port: port, node_id: node_id, client_id: @client_id, connect_timeout: @connect_timeout, socket_timeout: @socket_timeout, logger: @logger, ssl_context: @ssl_context, ) @brokers[node_id] = broker unless node_id.nil? broker end def close @brokers.each do |id, broker| @logger.info "Disconnecting broker #{id}" broker.disconnect end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby-kafka-0.3.2 | lib/kafka/broker_pool.rb |
ruby-kafka-0.3.1 | lib/kafka/broker_pool.rb |
ruby-kafka-0.3.0 | lib/kafka/broker_pool.rb |