View Source Kayrock.Produce.V4.Request (kayrock v0.2.0)

Kayrock-generated request struct for Kafka produce v4 API messages

The schema of this API is

[
  transactional_id: :nullable_string,
  acks: :int16,
  timeout: :int32,
  topic_data: {:array,
   [topic: :string, data: {:array, [partition: :int32, record_set: :records]}]}
]

Summary

Types

t()

Request struct for the Kafka produce API v4

Functions

Returns the Kafka API key for this API

Returns the API version (4) implemented by this module

Returns a function that can be used to deserialize the wire response from the broker for this message type

Returns the schema of this message

Serialize a message to binary data for transfer to a Kafka broker

Types

@type t() :: %Kayrock.Produce.V4.Request{
  acks: nil | integer(),
  client_id: nil | binary(),
  correlation_id: nil | integer(),
  timeout: nil | integer(),
  topic_data: [
    %{
      topic: nil | binary(),
      data: [
        %{
          partition: nil | integer(),
          record_set: nil | Kayrock.MessageSet.t() | Kayrock.RecordBatch.t()
        }
      ]
    }
  ],
  transactional_id: nil | binary()
}

Request struct for the Kafka produce API v4

Functions

@spec api_key() :: integer()

Returns the Kafka API key for this API

@spec api_vsn() :: integer()

Returns the API version (4) implemented by this module

@spec response_deserializer() ::
  (binary() -> {Kayrock.Produce.V4.Response.t(), binary()})

Returns a function that can be used to deserialize the wire response from the broker for this message type

@spec schema() :: term()

Returns the schema of this message

See above.

@spec serialize(t()) :: iodata()

Serialize a message to binary data for transfer to a Kafka broker