View Source KlifeProtocol.Messages.FetchSnapshot (Klife Protocol v0.5.0)

Kafka protocol FetchSnapshot message

Request versions summary:

Response versions summary:

Link to this section Summary

Functions

Returns the message api key number.

Receive a binary in the kafka wire format and deserialize it into a map.

Returns the current max supported version of this message.

Returns the current min supported version of this message.

Receives a map and serialize it to kafka wire format of the given version.

Link to this section Functions

Returns the message api key number.

Link to this function

deserialize_response(data, version, with_header? \\ true)

View Source

Receive a binary in the kafka wire format and deserialize it into a map.

Response content fields:

  • throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota. (int32 | versions 0+)

  • error_code: The top level response error code. (int16 | versions 0+)

  • topics: The topics to fetch. ([]TopicSnapshot | versions 0+)

    • name: The name of the topic to fetch. (string | versions 0+)

    • partitions: The partitions to fetch. ([]PartitionSnapshot | versions 0+)

      • index: The partition index. (int32 | versions 0+)

      • error_code: The error code, or 0 if there was no fetch error. (int16 | versions 0+)

      • snapshot_id: The snapshot endOffset and epoch fetched (SnapshotId | versions 0+)

        • end_offset: (int64 | versions 0+)

        • epoch: (int32 | versions 0+)

      • current_leader: (LeaderIdAndEpoch | versions 0+)

        • leader_id: The ID of the current leader or -1 if the leader is unknown. (int32 | versions 0+)

        • leader_epoch: The latest known leader epoch (int32 | versions 0+)

      • size: The total size of the snapshot. (int64 | versions 0+)

      • position: The starting byte position within the snapshot included in the Bytes field. (int64 | versions 0+)

      • unaligned_records: Snapshot data in records format which may not be aligned on an offset boundary (records | versions 0+)

Returns the current max supported version of this message.

Returns the current min supported version of this message.

Link to this function

serialize_request(map, version)

View Source

Receives a map and serialize it to kafka wire format of the given version.

Input content fields:

  • cluster_id: The clusterId if known, this is used to validate metadata fetches prior to broker registration (string | versions 0+)

  • replica_id: The broker ID of the follower (int32 | versions 0+)

  • max_bytes: The maximum bytes to fetch from all of the snapshots (int32 | versions 0+)

  • topics: The topics to fetch ([]TopicSnapshot | versions 0+)

    • name: The name of the topic to fetch (string | versions 0+)

    • partitions: The partitions to fetch ([]PartitionSnapshot | versions 0+)

      • partition: The partition index (int32 | versions 0+)

      • current_leader_epoch: The current leader epoch of the partition, -1 for unknown leader epoch (int32 | versions 0+)

      • snapshot_id: The snapshot endOffset and epoch to fetch (SnapshotId | versions 0+)

        • end_offset: (int64 | versions 0+)

        • epoch: (int32 | versions 0+)

      • position: The byte position within the snapshot to start fetching from (int64 | versions 0+)