Interface Client<I extends Request,​O extends Response>

Type Parameters:
I - the type of outgoing Request. Must be HttpRequest or RpcRequest.
O - the type of incoming Response. Must be HttpResponse or RpcResponse.
All Superinterfaces:
Unwrappable
All Known Subinterfaces:
HttpClient, PooledHttpClient, RpcClient
All Known Implementing Classes:
AbstractCircuitBreakerClient, AbstractConcurrencyLimitingClient, AbstractRetryingClient, BraveClient, CircuitBreakerClient, CircuitBreakerRpcClient, ConcurrencyLimitingClient, ContentPreviewingClient, DecodingClient, DecoratingClient, LoggingClient, LoggingRpcClient, MetricCollectingClient, MetricCollectingRpcClient, RetryingClient, RetryingRpcClient, SimpleDecoratingClient, SimpleDecoratingHttpClient, SimpleDecoratingRpcClient, SimplePooledDecoratingHttpClient
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface
public interface Client<I extends Request,​O extends Response>
extends Unwrappable
Sends a Request to a remote Endpoint.

Note that this interface is not a user's entry point for sending a Request. It is rather a generic request processor interface implemented by a DecoratingClient, which intercepts a Request. A user is supposed to make his or her Request via the object returned by a ClientBuilder or Clients, which usually does not implement this interface.

See Also:
UserClient