JakeDern commented on issue #413: URL: https://github.com/apache/arrow-rs-object-store/issues/413#issuecomment-3176221356
@tustvold I have a draft of some changes [here](https://github.com/apache/arrow-rs-object-store/pull/462/). Would love some feedback before I take it further. There are two things I want to call out in this implementation: 1. The trait is not object safe, so we have to have generics in various places instead of using `dyn`. We could have an object safe version that returns a known type like `Vec<u8>`, but I wanted to try to use the underlying crypto providers internal types like `ring::hmac::Tag` or `openssl::hash::DigestBytes` that don't allocate and use fixed-size byte arrays. Otherwise we'd have to allocate and copy to `Vec<u8>` or something if we wanted to remove the generics in favor of using `dyn`. Not sure how much it matters. 2. I've had to introduce fallibility in a couple spots because crypto operations in implementations such as OpenSSL can fail. Let me know if you have thoughts or suggestions! If you're happy with the overall direction, I can clean it up and extend to other clouds + add documentation. -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org