#kafka #parser #apache #message-parser #thread-safe #consumer-offsets

konsumer_offsets

A library crate to parse the content of the Kafka __consumer_offsets internal topic

8 releases

0.3.2 May 20, 2024
0.3.1 May 20, 2024
0.3.0 Jun 30, 2023
0.2.2 Jun 23, 2023
0.1.0 Jan 18, 2023

#13 in #apache


Used in kommitted

MIT/Apache

64KB
630 lines

konsumer_offsets CI_s Doc_s Ver_s Down_s Lic_s

A library crate to parse the content of the Kafka __consumer_offsets internal topic.


Features

  • Most complete parser for __consumer_offsets messages out there
  • Reverse-engineering of Kafka 3.x parsing logic, making it retro-compatible by default
  • Able to parse the subscription and assignment data contained in GroupMetadata messages: beyond what even the Kafka own parser can do
  • Every struct and field is well documented
  • Internal parsing functions are also documented and have references to the code they are based upon: if you read the code, you can go correlate to the Kafka codebase that its imitating
  • Parsing is based on bytes_parser and errors on thiserror, so it's easy to read and handles result errors idiomatically
  • All types exported by this crate are "Thread Safe" and "Async/Await Safe": we enforce the implementation of Sized + Send + Sync + Unpin
  • Support (via feature flags) to parse Unix timestamps via the chrono or time crates
  • Support (via feature flags) for serialization/deserialization via the serde crate

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.3–5.5MB
~29K SLoC