rschmitt opened a new pull request, #662:
URL: https://github.com/apache/httpcomponents-client/pull/662

   This change enables the sync client to use standard library Unix-domain 
sockets on Java 16+ without a JUnixSocket dependency, as is already supported 
by the async client.
   
   JEP 380 only exposes Unix-domain socket support through the `SocketChannel` 
API, but the sync client is tightly coupled to the legacy `java.net.Socket` 
API. The idea behind this change is to wrap the UDS `SocketChannel` in a 
subclass of `java.net.Socket` that acts as a translation layer between the 
legacy socket API and `SocketChannel`. In particular, the adapter adds support 
for socket timeouts by translating blocking reads to non-blocking reads and 
supplying the socket timeout value to the `select()` call.
   
   After this change, HttpClient will use the Java standard library by default. 
JUnixSocket will only be loaded on older versions of Java that lack standard 
library support for UDS, and even then only for the synchronous client, as the 
JUnixSocket-provided `SocketChannel` cannot be used with the JDK-provided 
`Selector` used by `IOReactor`.


-- 
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: dev-unsubscr...@hc.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.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