Class HttpClientTransportOverHTTP2
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.client.AbstractHttpClientTransport
org.eclipse.jetty.http2.client.transport.HttpClientTransportOverHTTP2
- All Implemented Interfaces:
HttpClient.Aware, HttpClientTransport, ClientConnectionFactory, Container, Destroyable, Dumpable, Dumpable.DumpableContainer, LifeCycle
@ManagedObject("The HTTP/2 client transport")
public class HttpClientTransportOverHTTP2
extends AbstractHttpClientTransport
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface ClientConnectionFactory
ClientConnectionFactory.Decorator, ClientConnectionFactory.InfoNested classes/interfaces inherited from interface Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface LifeCycle
LifeCycle.Listener -
Field Summary
Fields inherited from interface ClientConnectionFactory
CLIENT_CONTEXT_KEYFields inherited from interface HttpClientTransport
HTTP_CONNECTION_PROMISE_CONTEXT_KEY, HTTP_DESTINATION_CONTEXT_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconnect(InetSocketAddress address, Map<String, Object> context) Establishes a physical connection to the givenaddress.protected voidconnect(InetSocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, Map<String, Object> context) voidconnect(SocketAddress address, Map<String, Object> context) Establishes a physical connection to the givenaddress.protected voidconnect(SocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, Map<String, Object> context) protected voiddoStart()Starts the managed lifecycle beans in the order they were added.intbooleanprotected ConnectionnewConnection(Destination destination, Session session, HTTP2Connection connection) newConnection(EndPoint endPoint, Map<String, Object> context) newDestination(Origin origin) Creates a new, transport-specific,HttpDestinationobject.Creates a new Origin with the given request.protected voidonClose(Connection connection, GoAwayFrame frame) voidsetUseALPN(boolean useALPN) Methods inherited from class AbstractHttpClientTransport
connectFailed, getConnectionPoolFactory, getHttpClient, setConnectionPoolFactory, setHttpClientMethods inherited from class ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ClientConnectionFactory
customizeMethods inherited from interface Container
getCachedBeans, getEventListenersMethods inherited from interface Dumpable.DumpableContainer
isDumpable
-
Constructor Details
-
HttpClientTransportOverHTTP2
-
-
Method Details
-
getHTTP2Client
-
getSelectors
-
isUseALPN
@ManagedAttribute("Whether ALPN should be used when establishing connections") public boolean isUseALPN() -
setUseALPN
public void setUseALPN(boolean useALPN) -
doStart
Description copied from class:ContainerLifeCycleStarts the managed lifecycle beans in the order they were added.- Overrides:
doStartin classContainerLifeCycle- Throws:
Exception- If there was a problem starting. Will cause a transition to FAILED state
-
newOrigin
Description copied from interface:HttpClientTransportCreates a new Origin with the given request.- Parameters:
request- the request that triggers the creation of the Origin- Returns:
- an Origin that identifies a destination
-
newDestination
Description copied from interface:HttpClientTransportCreates a new, transport-specific,HttpDestinationobject.HttpDestinationcontrols the destination-connection cardinality: protocols like HTTP have 1-N cardinality, while multiplexed protocols like HTTP/2 have a 1-1 cardinality.- Parameters:
origin- the destination origin- Returns:
- a new, transport-specific,
HttpDestinationobject
-
connect
Description copied from interface:HttpClientTransportEstablishes a physical connection to the givenaddress.- Parameters:
address- the address to connect tocontext- the context information to establish the connection
-
connect
Description copied from interface:HttpClientTransportEstablishes a physical connection to the givenaddress.- Parameters:
address- the address to connect tocontext- the context information to establish the connection
-
connect
protected void connect(SocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, Map<String, Object> context) -
connect
protected void connect(InetSocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, Map<String, Object> context) -
newConnection
- Parameters:
endPoint- theEndPointto link the newly created connection tocontext- the context data to create the connection- Returns:
- a new
Connection - Throws:
IOException- if the connection cannot be created
-
newConnection
protected Connection newConnection(Destination destination, Session session, HTTP2Connection connection) -
onClose
-