Marking incubating interfaces as @Internal as fair. I sometimes use @Deprecated, since the call sites generate warnings that way, but the @Internal convention is good to know.
On Fri, Apr 11, 2025 at 3:00 PM Ryan Schmitt <rschm...@apache.org> wrote: > > DefaultHttpClientConnectionOperator is marked @Internal, as is the > associated connection manager constructor that takes an instance of > it. I'll take a look at your other suggestions. > > On Fri, Apr 11, 2025 at 4:34 AM Oleg Kalnichevski <ol...@apache.org> wrote: > > > > On Thu, 2025-04-10 at 19:02 -0700, Ryan Schmitt wrote: > > > 2. Connection count metrics. This is a trivial CSF implementation > > > that > > > wraps a delegate and emits a metric whenever connectSocket() is > > > called. > > > 3. Unix domain socket support. This is a CSF implementation that > > > calls > > > JUnixSocket to create UDS. > > > > > > I see how (1) can be migrated to the new TlsSocketStrategy API > > > (although it lacks a connectTimeout parameter, which is a problem), > > > so > > > I'm not worried about that, but I'm more concerned about (2) and (3). > > > In httpclient 5.4, if I want to take control of Socket creation, it > > > looks like I have to use internal APIs like DetachedSocketFactory and > > > HttpClientConnectionOperator. My questions are: > > > > > > - Does the synchronous client support TLS handshake timeouts in 5.4? > > > (My integration tests indicate that the default behavior is the same > > > as in 5.2.) > > > > Hi Ryan > > > > It does. See Tlsconfig#handshakeTimeout > > > > https://github.com/apache/httpcomponents-client/blob/5.4.x/httpclient5/src/main/java/org/apache/hc/client5/http/ssl/AbstractClientTlsStrategy.java#L240 > > > > > > > - Have I overlooked any public APIs that could accommodate use cases > > > (2) > > > > Default connection operators now have a number of callback methods that > > could be used as an injection point for custom metrics collectors. > > > > > > > > https://github.com/apache/httpcomponents-client/blob/5.4.x/httpclient5/src/main/java/org/apache/hc/client5/http/impl/io/DefaultHttpClientConnectionOperator.java#L295 > > > > In your case however a simple HttpClientConnectionManager decorator > > should be suffice, I believe. > > > > > > > and (3) above? > > > - Could we expose DetachedSocketFactory (or something similar) as a > > > stable interface for client customization? If so, could such a change > > > be released as part of 5.4.4, or would it have to go into 5.5? > > > > > > > Of course we can. These days we tend to introduce low level interfaces > > as internal first, and then make them public upon request. > > > > We can expedite the 5.5 GA release if needed, but we can also release > > whatever changes you may need in 5.4.x as internal and make them public > > in 5.5 at a later point. > > > > Oleg > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org > > For additional commands, e-mail: dev-h...@hc.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org