Kriskras99 commented on PR #238: URL: https://github.com/apache/avro-rs/pull/238#issuecomment-3193939482
I've completed the reader part! There are a few issues/notes: 1. `snap` does not have a streaming decoder, it's easy to implement but getting the PR upstreamed will take some work [as the maintainer isn't active on this project anymore](https://github.com/BurntSushi/rust-snappy/issues/48) 2. I've disabled the `reader::test_from_avro_datum_with_union_to_struct` test. In my opinion the provided schema is not compatible with the bytes. The user should instead provide the right schema and use a reader schema for the schema evolution. If we keep this, we should inform users as [at least one does depend on it](https://github.com/apache/avro/pull/1379) 3. I don't support having `Schema::Null` as the root schema in combination with the `from_avro_datum*` functions. They see an empty byteslice as an EoF. It's possible to add support for this, but I don't think anybody should depend on it. 4. I've moved all the tests that were in `decode.rs` to `state_machines/reading/mod.rs`, so they're not gone! 5. The current code organization is temporary and can be improved. I can imagine making `decode` a module and putting the state machines in there, making `reader` also a module with `sync` and `async` submodules. The same goes for the errors. 6. I did not yet implement direct from tape deserialisation from Serde types. I plan on implementing this, as it's more efficient than going through `Value` first. 7. There are a bunch of `TODO` scattered all over the place, also in places I did not modify. They are potential improvement points I ran into while implementing all of this. 8. I've temporarily added the `rustfmt.toml` back, so I can sort imports more easily. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
