@Internal public interface ExecRuntime
This interface is considered internal and generally ought not be used or accessed by custom request exec handlers.
Modifier and Type | Method and Description |
---|---|
void |
acquireEndpoint(String id,
HttpRoute route,
Object state,
HttpClientContext context)
Acquires a connection endpoint.
|
void |
connectEndpoint(HttpClientContext context)
Connect the local endpoint to the initial hop (connection target in case
of a direct route or to the first proxy hop in case of a route via a proxy
or multiple proxies).
|
void |
discardEndpoint()
Shuts down and discards the acquired endpoint.
|
void |
disconnectEndpoint()
Disconnects the local endpoint from the initial hop in the connection route.
|
ClassicHttpResponse |
execute(String id,
ClassicHttpRequest request,
HttpClientContext context)
Executes HTTP request using the given context.
|
ExecRuntime |
fork(CancellableDependency cancellableAware)
Forks this runtime for parallel execution.
|
boolean |
isConnectionReusable()
Determines of the connection is considered re-usable.
|
boolean |
isEndpointAcquired()
Determines of a connection endpoint has been acquired.
|
boolean |
isEndpointConnected()
Determines of there the endpoint is connected to the initial hop (connection
target in case of a direct route or to the first proxy hop in case of a route
via a proxy or multiple proxies).
|
boolean |
isExecutionAborted()
Determines of the request execution has been aborted.
|
void |
markConnectionNonReusable()
Marks the connection as non re-usable.
|
void |
markConnectionReusable(Object state,
TimeValue validityTime)
Marks the connection as potentially re-usable for the given period of time
and also marks it as stateful if the state representation is given.
|
void |
releaseEndpoint()
Releases the acquired endpoint potentially making it available for re-use.
|
void |
upgradeTls(HttpClientContext context)
Upgrades transport security of the active connection by using the TLS security protocol.
|
void acquireEndpoint(String id, HttpRoute route, Object state, HttpClientContext context) throws IOException
id
- unique operation ID or null
.route
- the connection route.state
- the expected connection state. May be null
if connection
can be state-less or its state is irrelevant.context
- the execution context.IOException
void connectEndpoint(HttpClientContext context) throws IOException
context
- the execution context.IOException
void discardEndpoint()
void disconnectEndpoint() throws IOException
IOException
ClassicHttpResponse execute(String id, ClassicHttpRequest request, HttpClientContext context) throws IOException, HttpException
id
- unique operation ID or null
.request
- the request message.context
- the execution context.IOException
HttpException
ExecRuntime fork(CancellableDependency cancellableAware)
boolean isConnectionReusable()
true
if the connection is re-usable, false
otherwise.boolean isEndpointAcquired()
true
if an endpoint has been acquired, false
otherwise.boolean isEndpointConnected()
true
if the endpoint is connected, false
otherwise.boolean isExecutionAborted()
true
if the request execution has been acquired,
false
otherwise.void markConnectionNonReusable()
void markConnectionReusable(Object state, TimeValue validityTime)
state
- the connection state representation or null
if stateless.validityTime
- the period of time this connection is valid for.void releaseEndpoint()
void upgradeTls(HttpClientContext context) throws IOException
context
- the execution context.IOException