Construct a Service.
Construct a ServiceFactory.
Construct a ServiceFactory. This is useful for stateful protocols (e.g., those that support transactions or authentication).
Use the given channel factory instead of the default.
Use the given channel factory instead of the default. Note that
when using a non-default ChannelFactory, finagle can't
meaningfully reference count factory usage, and so the caller is
responsible for calling releaseExternalResources().
Specify a cluster directly.
Specify a cluster directly. A com.twitter.finagle.builder.Cluster defines a dynamic mechanism for specifying a set of endpoints to which this client remains connected.
A variation of codec for codecs that support only client-codecs.
A variation of {{codec}} that supports codec factories.
A variation of {{codec}} that supports codec factories. This is used by codecs that need dynamic construction, but should be transparent to the user.
Specify the codec.
Specify the codec. The codec implements the network protocol used by the client, and consequently determines the {{Req}} and {{Rep}} type variables. One of the codec variations is required.
The connect timeout is the timeout applied to the acquisition of a Service.
The connect timeout is the timeout applied to the acquisition of a Service. This includes both queueing time (eg. because we cannot create more connections due to {{hostConnectionLimit}} and there are more than {{hostConnectionLimit}} requests outstanding) as well as physical connection time. Futures returned from {{factory()}} will always be satisfied within this timeout.
When true, the client is daemonized.
When true, the client is daemonized. As with java threads, a process can exit only when all remaining clients are daemonized. False by default.
Experimental option to buffer size
connections from the pool.
Experimental option to buffer size
connections from the pool.
The buffer is fast and lock-free, reducing contention for
services with very high requests rates. The buffer size should
be sized roughly to the expected concurrency. Buffers sized by
power-of-twos may be faster due to the use of modular
arithmetic.
Note: This will be integrated into the mainline pool, at which time the experimental option will go away.
Marks a host dead on connection failure.
Marks a host dead on connection failure. The host remains dead until we succesfully connect.
Intermediate connection attempts *are* respected, but host availability is turned off during the reconnection period.
Use the given paramters for failure accrual.
Use the given paramters for failure accrual. The first parameter is the number of *successive* failures that are required to mark a host failed. The second paramter specifies how long the host is dead for, once marked.
The core size of the connection pool: the pool is not shrinked below this limit.
The amount of time a connection is allowed to linger (when it otherwise would have been closed by the pool) before being closed.
The maximum number of connections that are allowed per host.
The maximum number of connections that are allowed per host. Required. Finagle guarantees to to never have more active connections than this limit.
The maximum time a connection is allowed to linger unused.
The maximum time a connection is allowed to exist, regardless of occupancy.
The maximum queue size for the connection pool.
A convenience method for specifying a one-host java.net.SocketAddress client.
A variant of {{hosts}} that takes a sequence of java.net.SocketAddress instead.
Specify the set of hosts to connect this client to.
Specify the set of hosts to connect this client to. Requests will be load balanced across these. This is a shorthand form for specifying a cluster.
One of the {{hosts}} variations or direct specification of the cluster (via {{cluster}}) is required.
Make connections via the given HTTP proxy.
Make connections via the given HTTP proxy. If this is defined concurrently with socksProxy, the order in which they are applied is undefined.
Apply TCP keepAlive ({{SO_KEEPALIVE}} socket option).
Log very detailed debug information to the given logger.
Give a meaningful name to the client.
Give a meaningful name to the client. Required.
The maximum time a connection may have received no data.
Sets the TCP recv buffer size.
Report per host stats to the given {{StatsReceiver}}.
Report per host stats to the given {{StatsReceiver}}. The statsReceiver will be scoped per client, like this: client/connect_latency_ms_max/0.0.0.0:64754
Report stats to the given {{StatsReceiver}}.
Report stats to the given {{StatsReceiver}}. This will report verbose global statistics and counters, that in turn may be exported to monitoring applications. NB: per hosts statistics will *NOT* be exported to this receiver
reportHostStats(receiver: StatsReceiver)
The request timeout is the time given to a *single* request (if there are retries, they each get a fresh request timeout).
The request timeout is the time given to a *single* request (if there are retries, they each get a fresh request timeout). The timeout is applied only after a connection has been acquired. That is: it is applied to the interval between the dispatch of the request and the receipt of the response.
The number of retries applied.
The number of retries applied. Only applicable to service-builds ({{build()}})
Sets the TCP send buffer size.
Make connections via the given SOCKS proxy.
Make connections via the given SOCKS proxy. If this is defined concurrently with httpProxy, the order in which they are applied is undefined.
Specify the TCP connection timeout.
Total request timeout.
Total request timeout. This timeout is applied from the issuance of a request (through {{service(request)}}) until the satisfaction of that reply future. No request will take longer than this.
Applicable only to service-builds ({{build()}})
Encrypt the connection with SSL.
Encrypt the connection with SSL. The Engine to use can be passed into the client. This allows the user to use client certificates SSL Hostname Validation is performed, on the passed in hostname
Encrypt the connection with SSL.
Encrypt the connection with SSL. The Engine to use can be passed into the client. This allows the user to use client certificates No SSL Hostname Validation is performed
Encrypt the connection with SSL.
Encrypt the connection with SSL. Hostname verification will be provided against the given hostname.
Do not perform TLS validation.
Do not perform TLS validation. Probably dangerous.
Specifies a tracer that receives trace events.
Specifies a tracer that receives trace events. See com.twitter.finagle.tracing for details.
Construct a Service, with runtime checks for builder completeness.
Construct a ServiceFactory, with runtime checks for builder completeness.
The maximum time a connection may not have sent any data.
(Since version 5.0.1) Used for ABI compat
(Since version 5.0.1) Used for ABI compat
(Since version 5.0.1) Use tcpConnectTimeout instead
(Since version 5.3.10)
(Since version 7.0.0) Use tracer() instead
Specifies a tracer that receives trace events.
Specifies a tracer that receives trace events. See com.twitter.finagle.tracing for details.
(Since version 7.0.0) Use tracer() instead