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

Reply via email to