Context
Follow-up to #1338 / #1340.
The C bridge (temporalio-sdk-core-c-bridge) currently hardcodes client_cert_resolver: None in its TryFrom<&ClientTlsOptions> impl. This means language SDKs built on the C bridge (Python, Ruby, etc.) cannot use the dynamic certificate resolution feature.
Proposal
Add a client_cert_resolver_callback to the C bridge's ClientTlsOptions struct using a function pointer pattern, similar to the existing grpc_override_callback:
typedef struct ClientTlsOptions {
// ... existing fields ...
// Optional callback for dynamic cert resolution
CertResolverCallback *cert_resolver;
} ClientTlsOptions;
The C bridge would wrap the callback in a ResolvesClientCert adapter struct.
References
Context
Follow-up to #1338 / #1340.
The C bridge (
temporalio-sdk-core-c-bridge) currently hardcodesclient_cert_resolver: Nonein itsTryFrom<&ClientTlsOptions>impl. This means language SDKs built on the C bridge (Python, Ruby, etc.) cannot use the dynamic certificate resolution feature.Proposal
Add a
client_cert_resolver_callbackto the C bridge'sClientTlsOptionsstruct using a function pointer pattern, similar to the existinggrpc_override_callback:The C bridge would wrap the callback in a
ResolvesClientCertadapter struct.References
crates/sdk-core-c-bridge/src/client.rs