-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Rust Drivers
-
None
-
None
-
None
-
None
-
None
-
None
Right now, any authentication mechanism that needs values from the client options needs a lot of plumbing; the data path goes ClientOptions -> HandshakerOptions -> Handshaker -> Credential::authenticate_stream -> AuthMechanism::authenticate_stream -> actual leaf function that uses the data.
Rather than having to update every layer each time a new value is introduced, we should introduce an AuthOptions struct that bundles them together; that will get constructed from ClientOptions and passed down into the leaf functions, and then anything new needed for auth mechanisms will only need to update the AuthOptions constructor and the point of use.