View Source KafkaEx.Protocol.Kayrock.JoinGroup.ResponseHelpers (kafka_ex v1.0.0-rc.1)

Shared helper functions for parsing JoinGroup responses across all versions.

Version differences:

  • V0/V1: No throttle_time_ms field
  • V2: Adds throttle_time_ms to the response

Summary

Functions

Parses a JoinGroup response using the provided throttle_time extractor.

Parses a V0 or V1 response (no throttle_time_ms).

Parses a V2+ response (includes throttle_time_ms).

Types

Link to this type

throttle_time_extractor()

View Source
@type throttle_time_extractor() :: (map() -> non_neg_integer() | nil)

Functions

Link to this function

parse_response(response, throttle_time_extractor)

View Source
@spec parse_response(map(), throttle_time_extractor()) ::
  {:ok, KafkaEx.Messages.JoinGroup.t()} | {:error, KafkaEx.Client.Error.t()}

Parses a JoinGroup response using the provided throttle_time extractor.

Link to this function

parse_v0_or_v1_response(response)

View Source
@spec parse_v0_or_v1_response(map()) ::
  {:ok, KafkaEx.Messages.JoinGroup.t()} | {:error, KafkaEx.Client.Error.t()}

Parses a V0 or V1 response (no throttle_time_ms).

Link to this function

parse_v2_plus_response(response)

View Source
@spec parse_v2_plus_response(map()) ::
  {:ok, KafkaEx.Messages.JoinGroup.t()} | {:error, KafkaEx.Client.Error.t()}

Parses a V2+ response (includes throttle_time_ms).