Issue #6728 - QUIC and HTTP/3

Added more logging about HTTP/3 being experimental.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
This commit is contained in:
Simone Bordet 2021-12-16 12:05:30 +01:00
parent ea3f2703f0
commit 9231d43308
3 changed files with 19 additions and 1 deletions

View File

@ -124,6 +124,9 @@ import org.slf4j.LoggerFactory;
* /- [Control|Decoder|Encoder]Stream
* HTTP3Client - dgramEP - ClientQuiConnection - ClientQuicSession - ClientHTTP3Session -* HTTP3Streams
* </pre>
*
* @apiNote HTTP/3+QUIC support is experimental and not suited for production use.
* APIs may change incompatibly between releases.
*/
public class HTTP3Client extends ContainerLifeCycle
{
@ -167,6 +170,13 @@ public class HTTP3Client extends ContainerLifeCycle
return http3Configuration;
}
@Override
protected void doStart() throws Exception
{
LOG.info("HTTP/3+QUIC support is experimental and not suited for production use.");
super.doStart();
}
public CompletableFuture<Session.Client> connect(SocketAddress address, Session.Client.Listener listener)
{
Map<String, Object> context = new ConcurrentHashMap<>();

View File

@ -1,5 +1,5 @@
[description]
Enables the support for the HTTP/3 protocol.
Enables experimental support for the HTTP/3 protocol.
[tags]
connector

View File

@ -24,12 +24,19 @@ import org.eclipse.jetty.server.ConnectionFactory;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.util.thread.Scheduler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* <p>A HTTP/3 specific {@link QuicServerConnector} that configures QUIC parameters according to HTTP/3 requirements.</p>
*
* @apiNote HTTP/3+QUIC support is experimental and not suited for production use.
* APIs may change incompatibly between releases.
*/
public class HTTP3ServerConnector extends QuicServerConnector
{
private static final Logger LOG = LoggerFactory.getLogger(HTTP3ServerConnector.class);
private HttpField altSvcHttpField;
public HTTP3ServerConnector(Server server, SslContextFactory.Server sslContextFactory, ConnectionFactory... factories)
@ -50,6 +57,7 @@ public class HTTP3ServerConnector extends QuicServerConnector
@Override
protected void doStart() throws Exception
{
LOG.info("HTTP/3+QUIC support is experimental and not suited for production use.");
super.doStart();
altSvcHttpField = new PreEncodedHttpField(HttpHeader.ALT_SVC, String.format("h3=\":%d\"", getLocalPort()));
}