View Source KafkaEx.Protocol.Kayrock.Fetch (kafka_ex v1.0.0-rc.1)
This module handles Fetch request & response parsing. Request is built using Kayrock protocol, response is parsed to native KafkaEx structs.
Supported Versions
- V0: Basic fetch (MessageSet format)
- V1: Adds throttle_time_ms
- V2: Same as V1
- V3: Adds max_bytes at request level
- V4: Adds isolation_level, last_stable_offset, aborted_transactions
- V5: Adds log_start_offset in request and response
- V6: Same as V5
- V7: Adds session_id, epoch, forgotten_topics_data for incremental fetch
- V8: No changes vs V7
- V9: Adds current_leader_epoch in partition requests
- V10: No changes vs V9
- V11: Adds rack_id at request level; response adds preferred_read_replica
Message Format
- V0-V3: May return
Kayrock.MessageSet(legacy format) - V4+: Returns
Kayrock.RecordBatch(modern format with headers)
The response parser handles both formats transparently.
All known versions (V0-V11) have explicit defimpl implementations.
An Any fallback is retained for forward compatibility with unknown
future Kayrock versions.