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.http.HttpClientTransportOverHTTP2
-
- All Implemented Interfaces:
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
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.io.ClientConnectionFactory
ClientConnectionFactory.Decorator
-
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.client.AbstractHttpClientTransport
LOG
-
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
-
Fields inherited from interface org.eclipse.jetty.io.ClientConnectionFactory
CONNECTOR_CONTEXT_KEY
-
Fields inherited from interface org.eclipse.jetty.client.HttpClientTransport
HTTP_CONNECTION_PROMISE_CONTEXT_KEY, HTTP_DESTINATION_CONTEXT_KEY
-
-
Constructor Summary
Constructors Constructor Description HttpClientTransportOverHTTP2(HTTP2Client client)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
connect(java.net.InetSocketAddress address, java.util.Map<java.lang.String,java.lang.Object> context)
Establishes a physical connection to the givenaddress
.protected void
connect(SslContextFactory sslContextFactory, java.net.InetSocketAddress address, Session.Listener listener, Promise<Session> promise, java.util.Map<java.lang.String,java.lang.Object> context)
protected void
doStart()
Starts the managed lifecycle beans in the order they were added.protected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.HTTP2Client
getHTTP2Client()
int
getSelectors()
boolean
isUseALPN()
Connection
newConnection(EndPoint endPoint, java.util.Map<java.lang.String,java.lang.Object> context)
protected HttpConnectionOverHTTP2
newHttpConnection(HttpDestination destination, Session session)
HttpDestination
newHttpDestination(Origin origin)
Creates a new, transport-specific,HttpDestination
object.protected void
onClose(HttpConnectionOverHTTP2 connection, GoAwayFrame frame)
void
setUseALPN(boolean useALPN)
-
Methods inherited from class org.eclipse.jetty.client.AbstractHttpClientTransport
getConnectionPoolFactory, getHttpClient, setConnectionPoolFactory, setHttpClient
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, 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.Dumpable.DumpableContainer
isDumpable
-
-
-
-
Constructor Detail
-
HttpClientTransportOverHTTP2
public HttpClientTransportOverHTTP2(HTTP2Client client)
-
-
Method Detail
-
getHTTP2Client
public HTTP2Client getHTTP2Client()
-
getSelectors
@ManagedAttribute(value="The number of selectors", readonly=true) public int getSelectors()
-
isUseALPN
@ManagedAttribute("Whether ALPN should be used when establishing connections") public boolean isUseALPN()
-
setUseALPN
public void setUseALPN(boolean useALPN)
-
doStart
protected void doStart() throws java.lang.Exception
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContainerLifeCycle
- Throws:
java.lang.Exception
-
doStop
protected void doStop() throws java.lang.Exception
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classContainerLifeCycle
- Throws:
java.lang.Exception
-
newHttpDestination
public HttpDestination newHttpDestination(Origin origin)
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
public void connect(java.net.InetSocketAddress address, java.util.Map<java.lang.String,java.lang.Object> context)
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(SslContextFactory sslContextFactory, java.net.InetSocketAddress address, Session.Listener listener, Promise<Session> promise, java.util.Map<java.lang.String,java.lang.Object> context)
-
newConnection
public Connection newConnection(EndPoint endPoint, java.util.Map<java.lang.String,java.lang.Object> context) throws java.io.IOException
- Parameters:
endPoint
- theEndPoint
to link the newly created connection tocontext
- the context data to create the connection- Returns:
- a new
Connection
- Throws:
java.io.IOException
- if the connection cannot be created
-
newHttpConnection
protected HttpConnectionOverHTTP2 newHttpConnection(HttpDestination destination, Session session)
-
onClose
protected void onClose(HttpConnectionOverHTTP2 connection, GoAwayFrame frame)
-
-