Method: Kafka::Connection#initialize

Defined in:
lib/kafka/connection.rb

#initialize(host:, port:, client_id:, logger:, instrumenter:, connect_timeout: nil, socket_timeout: nil, ssl_context: nil) ⇒ Connection

Opens a connection to a Kafka broker.

Parameters:

  • host (String)

    the hostname of the broker.

  • port (Integer)

    the port of the broker.

  • client_id (String)

    the client id is a user-specified string sent in each request to help trace calls and should logically identify the application making the request.

  • logger (Logger)

    the logger used to log trace messages.

  • connect_timeout (Integer) (defaults to: nil)

    the socket timeout for connecting to the broker. Default is 10 seconds.

  • socket_timeout (Integer) (defaults to: nil)

    the socket timeout for reading and writing to the broker. Default is 10 seconds.



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/kafka/connection.rb', line 53

def initialize(host:, port:, client_id:, logger:, instrumenter:, connect_timeout: nil, socket_timeout: nil, ssl_context: nil)
  @host, @port, @client_id = host, port, client_id
  @logger = TaggedLogger.new(logger)
  @instrumenter = instrumenter

  @connect_timeout = connect_timeout || CONNECT_TIMEOUT
  @socket_timeout = socket_timeout || SOCKET_TIMEOUT
  @ssl_context = ssl_context

  @socket = nil
  @last_request = nil
end