You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Java 16 introduced UnixDomain support (#6043).
HTTP3 over QUIC is another option.
We need a way to "carry" protocol-specific bytes (e.g. HTTP/1.1 bytes or HTTP/2 bytes or HTTP/3 bytes) using different "carriers", i.e. via TCP, UnixDomain, or QUIC (over UDP).
The idea is that when we need to open a new carrier endpoint, we call ClientConnector.connect(SocketAddress, Map).
The CompositeClientConnector will do a match on the carriers it manages to see which one matches best (so there must be some "weight" or partial ordering to pick one among many that match).
In this way, all the other concepts will work (e.g. SOCKS4 proxying, as well as HTTP proxying) because they will be orthogonal to the carriers.
Only at the moment that you have to physically establish a carrier endpoing, we go to the ClientConnector, that will decide what type of carrier creates the endpoint.
The text was updated successfully, but these errors were encountered:
Introduced org.eclipse.jetty.io.Connectable.
Retrofitted HttpClientTransport implementation to take a Connectable
instead of ClientConnector.
In future, a different Connectable implementation can be passed to
HttpClientTransport implementation so that it may delegate to concrete
ClientConnector implementation that use TCP, or Unix Domain sockets,
or QUIC over UDP.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Jetty version
10.0.x
Description
Java 16 introduced UnixDomain support (#6043).
HTTP3 over QUIC is another option.
We need a way to "carry" protocol-specific bytes (e.g. HTTP/1.1 bytes or HTTP/2 bytes or HTTP/3 bytes) using different "carriers", i.e. via TCP, UnixDomain, or QUIC (over UDP).
A proposal is the following:
The idea is that when we need to open a new carrier endpoint, we call
ClientConnector.connect(SocketAddress, Map)
.The
CompositeClientConnector
will do a match on the carriers it manages to see which one matches best (so there must be some "weight" or partial ordering to pick one among many that match).In this way, all the other concepts will work (e.g. SOCKS4 proxying, as well as HTTP proxying) because they will be orthogonal to the carriers.
Only at the moment that you have to physically establish a carrier endpoing, we go to the
ClientConnector
, that will decide what type of carrier creates the endpoint.The text was updated successfully, but these errors were encountered: