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

Reply via email to