Module kafka_protocol::records
source · Expand description
Provides utilities for working with records (Kafka messages).
FetchResponse
and associated APIs for interacting with reading and writing
contain records in a raw format, allowing the user to implement their own logic for interacting
with those values.
Example
Decoding a set of records from a FetchResponse
:
use kafka_protocol::messages::FetchResponse;
use kafka_protocol::protocol::Decodable;
use kafka_protocol::records::RecordBatchDecoder;
use bytes::Bytes;
let res = FetchResponse::decode(&mut buf, 4).unwrap();
for topic in res.responses {
for partition in topic.partitions {
let mut records = partition.records.unwrap();
let records = RecordBatchDecoder::decode(&mut records).unwrap();
}
}
Structs
- A Kafka message containing key, payload value, and all associated metadata.
- Batch decoder for Kafka records.
- Batch encoder for Kafka records.
- Options for encoding and compressing a batch of records. Note, not all compression algorithms are currently implemented by this library.
Enums
- The different types of compression supported by Kafka.
- Indicates the meaning of the timestamp field on a record.
Constants
- CRC-32C (Castagnoli) cyclic redundancy check
- IEEE (checksum) cyclic redundancy check.
- Value to indicated missing leader epoch.
- Value to indicate missing producer epoch.
- Value to indicate missing producer id.
- Value to indicate missing sequence id.
- Value to indicate missing timestamp.