class Kafka::ConnectionBuilder

Public Class Methods

new(client_id:, logger:, instrumenter:, connect_timeout:, socket_timeout:, ssl_context:, sasl_authenticator:) click to toggle source
# File lib/kafka/connection_builder.rb, line 5
def initialize(client_id:, logger:, instrumenter:, connect_timeout:, socket_timeout:, ssl_context:, sasl_authenticator:)
  @client_id = client_id
  @logger = TaggedLogger.new(logger)
  @instrumenter = instrumenter
  @connect_timeout = connect_timeout
  @socket_timeout = socket_timeout
  @ssl_context = ssl_context
  @sasl_authenticator = sasl_authenticator
end

Public Instance Methods

build_connection(host, port) click to toggle source
# File lib/kafka/connection_builder.rb, line 15
def build_connection(host, port)
  connection = Connection.new(
    host: host,
    port: port,
    client_id: @client_id,
    connect_timeout: @connect_timeout,
    socket_timeout: @socket_timeout,
    logger: @logger,
    instrumenter: @instrumenter,
    ssl_context: @ssl_context,
  )

  @sasl_authenticator.authenticate!(connection)

  connection
end