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 org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.ClientConnectionFactory
ClientConnectionFactory.Decorator, ClientConnectionFactory.Info
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPING
Fields inherited from interface org.eclipse.jetty.io.ClientConnectionFactory
CLIENT_CONTEXT_KEY
Fields inherited from interface org.eclipse.jetty.client.HttpClientTransport
HTTP_CONNECTION_PROMISE_CONTEXT_KEY, HTTP_DESTINATION_CONTEXT_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
connect
(InetSocketAddress address, Map<String, Object> context) Establishes a physical connection to the givenaddress
.protected void
connect
(InetSocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, Map<String, Object> context) void
connect
(SocketAddress address, Map<String, Object> context) Establishes a physical connection to the givenaddress
.protected void
connect
(SocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, Map<String, Object> context) protected void
doStart()
Starts the managed lifecycle beans in the order they were added.int
boolean
protected Connection
newConnection
(Destination destination, Session session, HTTP2Connection connection) newConnection
(EndPoint endPoint, Map<String, Object> context) newDestination
(Origin origin) Creates a new, transport-specific,HttpDestination
object.Creates a new Origin with the given request.protected void
onClose
(Connection connection, GoAwayFrame frame) void
setUseALPN
(boolean useALPN) Methods inherited from class org.eclipse.jetty.client.AbstractHttpClientTransport
connectFailed, getConnectionPoolFactory, getHttpClient, setConnectionPoolFactory, setHttpClient
Methods inherited from class org.eclipse.jetty.util.component.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, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.io.ClientConnectionFactory
customize
Methods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListeners
Methods inherited from interface org.eclipse.jetty.util.component.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:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContainerLifeCycle
- Throws:
AbstractLifeCycle.StopException
- If thrown, the lifecycle will immediately be stopped.Exception
- If there was a problem starting. Will cause a transition to FAILED state
-
newOrigin
Description copied from interface:HttpClientTransport
Creates 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:HttpClientTransport
Creates a new, transport-specific,HttpDestination
object.HttpDestination
controls 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,
HttpDestination
object
-
connect
Description copied from interface:HttpClientTransport
Establishes 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:HttpClientTransport
Establishes 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
- theEndPoint
to 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
-