class Kafka::Connection

def write_request(request, notification)

Returns:
  • (nil) -

Parameters:
  • request (#encode) -- the request that should be encoded and written.
def write_request(request, notification)
  message = Kafka::Protocol::RequestMessage.new(
    api_key: request.api_key,
    api_version: request.respond_to?(:api_version) ? request.api_version : 0,
    correlation_id: @correlation_id,
    client_id: @client_id,
    request: request,
  )
  data = Kafka::Protocol::Encoder.encode_with(message)
  notification[:request_size] = data.bytesize
  @encoder.write_bytes(data)
  nil
rescue Errno::ETIMEDOUT
  @logger.error "Timed out while writing request #{@correlation_id}"
  raise
end