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 |
#1557 in Parser implementations
Used in kommitted
64KB
630 lines
konsumer_offsets
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
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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