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]

Reply via email to