Top Inners Fields Constructors Methods
io.vertx.core.http.impl

pack-priv Class SharedClientHttpStreamEndpoint

extends ClientHttpEndpointBase<Lease<HttpClientConnection>>
implements PoolConnector<HttpClientConnection>
Class Inheritance
All Implemented Interfaces
io.vertx.core.net.impl.pool.PoolConnector
Imports
io.vertx.core.AsyncResult, .Future, .Handler, io.vertx.core.http.HttpConnection, .HttpVersion, io.vertx.core.impl.ContextInternal, .NoStackTraceTimeoutException, io.vertx.core.net.impl.pool.ConnectResult, .ConnectionPool, .PoolConnection, .PoolConnector, .Lease, .PoolWaiter, io.vertx.core.spi.metrics.ClientMetrics, java.util.List, java.util.function.BiFunction

Author
Julien Viet

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
private final HttpClientImpl
private final HttpChannelConnector
private static final BiFunction<PoolWaiter<HttpClientConnection>, List<PoolConnection<HttpClientConnection>>, PoolConnection<HttpClientConnection>>
LIFO_SELECTOR

LIFO pool selector.

private final ConnectionPool<HttpClientConnection>

Constructor Summary

AccessConstructor and Description
public
SharedClientHttpStreamEndpoint(HttpClientImpl client, ClientMetrics<M, T, Req, Resp> metrics, int queueMaxSize, int http1MaxSize, int http2MaxSize, HttpChannelConnector connector, Runnable dispose)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
public void
connect(ContextInternal
the context to use for IO
context
,
PoolConnector.Listener
the listener
listener
,
Handler<AsyncResult<ConnectResult<HttpClientConnection>>>
the callback handler with the result
handler
)

Implements io.vertx.core.net.impl.pool.PoolConnector.connect.

Connects to a back-end.

public boolean
isValid(HttpClientConnection
the connection to check
connection
)

Implements io.vertx.core.net.impl.pool.PoolConnector.isValid.

Checks whether the connection is still valid.

public void
Inherited from io.vertx.core.http.impl.ClientHttpEndpointBase:
disposerequestConnection

Field Detail

clientback to summary
private final HttpClientImpl client
connectorback to summary
private final HttpChannelConnector connector
LIFO_SELECTORback to summary
private static final BiFunction<PoolWaiter<HttpClientConnection>, List<PoolConnection<HttpClientConnection>>, PoolConnection<HttpClientConnection>> LIFO_SELECTOR

LIFO pool selector.

poolback to summary
private final ConnectionPool<HttpClientConnection> pool

Constructor Detail

SharedClientHttpStreamEndpointback to summary
public SharedClientHttpStreamEndpoint(HttpClientImpl client, ClientMetrics<M, T, Req, Resp> metrics, int queueMaxSize, int http1MaxSize, int http2MaxSize, HttpChannelConnector connector, Runnable dispose)

Method Detail

checkExpiredback to summary
pack-priv void checkExpired()

Implements abstract io.vertx.core.http.impl.ClientHttpEndpointBase.checkExpired.

connectback to summary
public void connect(ContextInternal context, PoolConnector.Listener listener, Handler<AsyncResult<ConnectResult<HttpClientConnection>>> handler)

Implements io.vertx.core.net.impl.pool.PoolConnector.connect.

Doc from io.vertx.core.net.impl.pool.PoolConnector.connect.

Connects to a back-end.

Parameters
context:ContextInternal

the context to use for IO

listener:PoolConnector.Listener

the listener

handler:Handler<AsyncResult<ConnectResult<HttpClientConnection>>>

the callback handler with the result

Annotations
@Override
isValidback to summary
public boolean isValid(HttpClientConnection connection)

Implements io.vertx.core.net.impl.pool.PoolConnector.isValid.

Doc from io.vertx.core.net.impl.pool.PoolConnector.isValid.

Checks whether the connection is still valid.

The pool calls this method when it checks the validity of a connection. Any connection will be evicted from the pool.

Parameters
connection:HttpClientConnection

the connection to check

Returns:boolean

whether the connection is valid or not

Annotations
@Override
requestConnection2back to summary
public void requestConnection2(ContextInternal ctx, long timeout, Handler<AsyncResult<Lease<HttpClientConnection>>> handler)

Implements abstract io.vertx.core.http.impl.ClientHttpEndpointBase.requestConnection2.

Annotations
@Override
io.vertx.core.http.impl back to summary

private Class SharedClientHttpStreamEndpoint.Request

extends Object
implements PoolWaiter.Listener<HttpClientConnection>, Handler<AsyncResult<Lease<HttpClientConnection>>>
Class Inheritance
  • java.lang.Object
  • io.vertx.core.http.impl.SharedClientHttpStreamEndpoint.Request
All Implemented Interfaces
io.vertx.core.Handler, io.vertx.core.net.impl.pool.PoolWaiter.Listener

Field Summary

Modifier and TypeField and Description
private final ContextInternal
private final Handler<AsyncResult<Lease<HttpClientConnection>>>
private final HttpVersion
private final long
private long

Constructor Summary

AccessConstructor and Description
pack-priv
Request(ContextInternal context, HttpVersion protocol, long timeout, Handler<AsyncResult<Lease<HttpClientConnection>>> handler)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
public void
handle(AsyncResult<Lease<HttpClientConnection>>
the event to handle
ar
)

Implements io.vertx.core.Handler.handle.

Something has happened, so handle it.

public void
onConnect(PoolWaiter<HttpClientConnection>
the waiter
waiter
)

Overrides default io.vertx.core.net.impl.pool.PoolWaiter.Listener.onConnect.

The waiter is associated with a connection request.

public void
onEnqueue(PoolWaiter<HttpClientConnection>
the waiter
waiter
)

Overrides default io.vertx.core.net.impl.pool.PoolWaiter.Listener.onEnqueue.

The waiter is moved to the pool wait queue.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

contextback to summary
private final ContextInternal context
handlerback to summary
private final Handler<AsyncResult<Lease<HttpClientConnection>>> handler
protocolback to summary
private final HttpVersion protocol
timeoutback to summary
private final long timeout
timerIDback to summary
private long timerID

Constructor Detail

Requestback to summary
pack-priv Request(ContextInternal context, HttpVersion protocol, long timeout, Handler<AsyncResult<Lease<HttpClientConnection>>> handler)

Method Detail

acquireback to summary
pack-priv void acquire()
handleback to summary
public void handle(AsyncResult<Lease<HttpClientConnection>> ar)

Implements io.vertx.core.Handler.handle.

Doc from io.vertx.core.Handler.handle.

Something has happened, so handle it.

Parameters
ar:AsyncResult<Lease<HttpClientConnection>>

the event to handle

Annotations
@Override
onConnectback to summary
public void onConnect(PoolWaiter<HttpClientConnection> waiter)

Overrides default io.vertx.core.net.impl.pool.PoolWaiter.Listener.onConnect.

Doc from io.vertx.core.net.impl.pool.PoolWaiter.Listener.onConnect.

The waiter is associated with a connection request.

Parameters
waiter:PoolWaiter<HttpClientConnection>

the waiter

Annotations
@Override
onEnqueueback to summary
public void onEnqueue(PoolWaiter<HttpClientConnection> waiter)

Overrides default io.vertx.core.net.impl.pool.PoolWaiter.Listener.onEnqueue.

Doc from io.vertx.core.net.impl.pool.PoolWaiter.Listener.onEnqueue.

The waiter is moved to the pool wait queue.

Parameters
waiter:PoolWaiter<HttpClientConnection>

the waiter

Annotations
@Override