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.