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, 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
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(java.net.InetSocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, java.util.Map<java.lang.String,java.lang.Object> context)
void
connect(java.net.SocketAddress address, java.util.Map<java.lang.String,java.lang.Object> context)
Establishes a physical connection to the givenaddress
.protected void
connect(java.net.SocketAddress address, ClientConnectionFactory factory, 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.Origin
newOrigin(HttpRequest request)
Creates a new Origin with the given request.protected void
onClose(HttpConnectionOverHTTP2 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, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, 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 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:
AbstractLifeCycle.StopException
- If thrown, the lifecycle will immediately be stopped.java.lang.Exception
- If there was a problem starting. Will cause a transition to FAILED state
-
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
- If there was a problem stopping. Will cause a transition to FAILED state
-
newOrigin
public Origin newOrigin(HttpRequest request)
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
-
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.SocketAddress 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
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(java.net.SocketAddress address, ClientConnectionFactory factory, Session.Listener listener, Promise<Session> promise, java.util.Map<java.lang.String,java.lang.Object> context)
-
connect
protected void connect(java.net.InetSocketAddress address, ClientConnectionFactory factory, 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)
-
-