class Fluent::Plugin::ForwardOutput::Node

def initialize(sender, server, failure:, keepalive: false, keepalive_timeout: nil)

Parameters:
  • keepalive_timeout (Integer | nil) --
  • keepalive (Bool) --
def initialize(sender, server, failure:, keepalive: false, keepalive_timeout: nil)
  @sender = sender
  @log = sender.log
  @compress = sender.compress
  @name = server.name
  @host = server.host
  @port = server.port
  @weight = server.weight
  @standby = server.standby
  @failure = failure
  @available = true
  # @hostname is used for certificate verification & TLS SNI
  host_is_hostname = !(IPAddr.new(@host) rescue false)
  @hostname = case
              when host_is_hostname then @host
              when @name then @name
              else nil
              end
  @usock = nil
  @username = server.username
  @password = server.password
  @shared_key = server.shared_key || (sender.security && sender.security.shared_key) || ""
  @shared_key_salt = generate_salt
  @unpacker = Fluent::Engine.msgpack_unpacker
  @resolved_host = nil
  @resolved_time = 0
  @resolved_once = false
  @keepalive = keepalive
  if @keepalive
    @socket_cache = SocketCache.new(keepalive_timeout, @log)
  end
end