java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.client.HttpDestination
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Destination
,org.eclipse.jetty.util.Callback
,org.eclipse.jetty.util.component.Container
,org.eclipse.jetty.util.component.Destroyable
,org.eclipse.jetty.util.component.Dumpable
,org.eclipse.jetty.util.component.Dumpable.DumpableContainer
,org.eclipse.jetty.util.component.LifeCycle
,org.eclipse.jetty.util.thread.Invocable
,org.eclipse.jetty.util.thread.Sweeper.Sweepable
- Direct Known Subclasses:
DuplexHttpDestination
,MultiplexHttpDestination
@ManagedObject
public abstract class HttpDestination
extends org.eclipse.jetty.util.component.ContainerLifeCycle
implements Destination, Closeable, org.eclipse.jetty.util.Callback, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.thread.Sweeper.Sweepable
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
org.eclipse.jetty.util.Callback.Completable, org.eclipse.jetty.util.Callback.Completing, org.eclipse.jetty.util.Callback.Nested
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
org.eclipse.jetty.util.thread.Invocable.InvocationType, org.eclipse.jetty.util.thread.Invocable.ReadyTask, org.eclipse.jetty.util.thread.Invocable.Task
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.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.util.Callback
NOOP
Fields inherited from interface org.eclipse.jetty.util.component.Dumpable
KEY
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking
-
Constructor Summary
ConstructorDescriptionHttpDestination
(HttpClient client, Origin origin, boolean intrinsicallySecure) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Aborts all theHttpExchange
s queued in this destination.void
accept
(Connection connection) asString()
void
close()
protected void
createConnection
(org.eclipse.jetty.util.Promise<Connection> promise) protected void
doStart()
protected void
doStop()
void
dump
(Appendable out, String indent) protected boolean
enqueue
(Queue<HttpExchange> queue, HttpExchange exchange) void
org.eclipse.jetty.io.ClientConnectionFactory
getHost()
org.eclipse.jetty.http.HttpField
long
getIdle()
int
getPort()
getProxy()
int
boolean
isSecure()
boolean
isStale()
void
newConnection
(org.eclipse.jetty.util.Promise<Connection> promise) Creates asynchronously a new, unpooled,Connection
that will be returned at a later time through the givenPromise
.protected ConnectionPool
newConnectionPool
(HttpClient client) protected Queue<HttpExchange>
newExchangeQueue
(HttpClient client) protected org.eclipse.jetty.io.ClientConnectionFactory
newSslClientConnectionFactory
(org.eclipse.jetty.util.ssl.SslContextFactory.Client sslContextFactory, org.eclipse.jetty.io.ClientConnectionFactory connectionFactory) void
release
(Connection connection) boolean
remove
(Connection connection) boolean
remove
(HttpExchange exchange) void
send()
void
send
(Request request, Response.CompleteListener listener) void
send
(HttpExchange exchange) protected void
send
(HttpRequest request, List<Response.ResponseListener> listeners) protected SendFailure
send
(IConnection connection, HttpExchange exchange) boolean
stale()
void
boolean
sweep()
toString()
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.Callback
completeWith
Methods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListeners
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable
dump, dumpSelf
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
Methods inherited from interface org.eclipse.jetty.util.thread.Invocable
getInvocationType
-
Constructor Details
-
HttpDestination
-
-
Method Details
-
accept
-
stale
public boolean stale() -
sweep
public boolean sweep()- Specified by:
sweep
in interfaceorg.eclipse.jetty.util.thread.Sweeper.Sweepable
-
doStart
- Overrides:
doStart
in classorg.eclipse.jetty.util.component.ContainerLifeCycle
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.eclipse.jetty.util.component.ContainerLifeCycle
- Throws:
Exception
-
newConnectionPool
-
newExchangeQueue
-
newSslClientConnectionFactory
protected org.eclipse.jetty.io.ClientConnectionFactory newSslClientConnectionFactory(org.eclipse.jetty.util.ssl.SslContextFactory.Client sslContextFactory, org.eclipse.jetty.io.ClientConnectionFactory connectionFactory) -
isSecure
public boolean isSecure() -
getHttpClient
-
getOrigin
-
getHttpExchanges
-
getRequestNotifier
-
getResponseNotifier
-
getProxy
-
getClientConnectionFactory
public org.eclipse.jetty.io.ClientConnectionFactory getClientConnectionFactory() -
getScheme
- Specified by:
getScheme
in interfaceDestination
- Returns:
- the scheme of this destination, such as "http" or "https"
-
getHost
- Specified by:
getHost
in interfaceDestination
- Returns:
- the host of this destination, such as "127.0.0.1" or "google.com"
-
getPort
@ManagedAttribute(value="The destination port", readonly=true) public int getPort()- Specified by:
getPort
in interfaceDestination
- Returns:
- the port of this destination such as 80 or 443
-
getQueuedRequestCount
@ManagedAttribute(value="The number of queued requests", readonly=true) public int getQueuedRequestCount() -
getConnectAddress
-
getHostField
public org.eclipse.jetty.http.HttpField getHostField() -
getConnectionPool
@ManagedAttribute(value="The connection pool", readonly=true) public ConnectionPool getConnectionPool() -
succeeded
public void succeeded()- Specified by:
succeeded
in interfaceorg.eclipse.jetty.util.Callback
-
failed
- Specified by:
failed
in interfaceorg.eclipse.jetty.util.Callback
-
send
-
send
-
send
-
enqueue
-
send
public void send() -
send
-
newConnection
Description copied from interface:Destination
Creates asynchronously a new, unpooled,Connection
that will be returned at a later time through the givenPromise
.Use
FuturePromise
to wait for the connection:Destination destination = ...; FuturePromise<Connection> futureConnection = new FuturePromise<>(); destination.newConnection(futureConnection); Connection connection = futureConnection.get(5, TimeUnit.SECONDS);
- Specified by:
newConnection
in interfaceDestination
- Parameters:
promise
- the promise of a new, unpooled,Connection
-
createConnection
-
remove
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
release
-
remove
-
abort
Aborts all theHttpExchange
s queued in this destination.- Parameters:
cause
- the abort cause
-
dump
- Specified by:
dump
in interfaceorg.eclipse.jetty.util.component.Dumpable
- Overrides:
dump
in classorg.eclipse.jetty.util.component.ContainerLifeCycle
- Throws:
IOException
-
asString
-
getIdle
@ManagedAttribute("For how long this destination has been idle in ms") public long getIdle() -
isStale
@ManagedAttribute("Whether this destinations is stale") public boolean isStale() -
toString
- Overrides:
toString
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
-