Module kpro_consumer_group

Data Types

decoded()

decoded() = {tag(), Key::kpro:struct(), Value::kpro:struct()}

tag()

tag() = offset | group

Function Index

decode/2This function takes key and value binaries of a kafka message consumed from __consumer_offsets topic, and return decoded values with a tag.

Function Details

decode/2

decode(KeyBin::binary(), ValueBin::undefined | binary()) -> decoded()

This function takes key and value binaries of a kafka message consumed from __consumer_offsets topic, and return decoded values with a tag. spec: {Tag :: offset | group, DecodedKey, DecodedValue}

NOTE! DecodedValue can be an empty list (when consumer group is dead or after offset is expired).

Key Fields when version = 0 | 1 (committed offset) version :: 0 | 1 group_id :: binary() topic :: binary() partition :: integer()

Key Fields when version = 2 (consumer group metadata) version :: 2 group_id :: binary()

Value Fields (when key version is 0 | 1): version :: 0 | 1 offset :: integer() metdata :: binary() timestamp :: integer() when version = 0 commit_time :: integer() when version = 1 expire_time :: integer() when version = 1

Value Fields (when key version is 2): version :: integer() %% up to the consuemr implementation protocol_type :: binary() %% should be <<"consumer">> but not must generation_id :: integer() protocol :: binary() %% <<"roundrobin">> etc. leader :: binary() members :: array of member_id :: binary() client_id :: binary() client_host :: binary() session_timeout :: integer() %% milliseconds subscription :: version :: integer() topics :: [binary()] user_data :: binary() assignment (nullable) version :: integer() topic_partitions :: [{Topic::binary(), [Partition::integer()]}] user_data :: undefined | binary()


Generated by EDoc