class ClientTransportParams[A <: Parameterized[A]] extends TransportParams[A]
A collection of methods for configuring the Transport for Finagle clients.
- A
a Stack.Parameterized client to configure
- Alphabetic
- By Inheritance
- ClientTransportParams
- TransportParams
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ClientTransportParams(self: Parameterized[A])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def connectTimeout(timeout: Duration): A
Configures the socket connect
timeout
of this client (default: 1 second).Configures the socket connect
timeout
of this client (default: 1 second).The connection timeout is the maximum amount of time a transport is allowed to spend connecting to a remote socket. This does not include an actual session creation (SSL handshake, HTTP proxy handshake, etc.) only raw socket connect.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def httpProxyTo(host: String, credentials: Credentials): A
Enables TCP tunneling via
HTTP CONNECT
through an HTTP proxy [1] on this client (default: disabled).Enables TCP tunneling via
HTTP CONNECT
through an HTTP proxy [1] on this client (default: disabled).TCP tunneling might be used to flow any TCP traffic (not only HTTP), but is mostly used to establish an HTTPS (TLS/SSL over HTTP) connection to a remote HTTP server through a proxy.
When enabled, a Finagle client treats the server it connects to as a proxy server and asks it to proxy the traffic to a given ultimate destination, specified as
host
.[1]: https://tools.ietf.org/html/draft-luotonen-web-proxy-tunneling-01
- host
the ultimate host a proxy server connects to
- credentials
credentials for a proxy server
- def httpProxyTo(host: String): A
Enables TCP tunneling via
HTTP CONNECT
through an HTTP proxy [1] on this client (default: disabled).Enables TCP tunneling via
HTTP CONNECT
through an HTTP proxy [1] on this client (default: disabled).TCP tunneling might be used to flow any TCP traffic (not only HTTP), but is mostly used to establish an HTTPS (TLS/SSL over HTTP) connection to a remote HTTP server through a proxy.
When enabled, a Finagle client treats the server it connects to as a proxy server and asks it to proxy the traffic to a given ultimate destination, specified as
host
.[1]: https://tools.ietf.org/html/draft-luotonen-web-proxy-tunneling-01
- host
the ultimate host a proxy server connects to
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def readTimeout(timeout: Duration): A
Configures this client or server with given transport-level read
timeout
(default: unbounded).Configures this client or server with given transport-level read
timeout
(default: unbounded).The transport-level read timeout is the maximum amount of time a transport may have received no data. This covers both connections in use (have outstanding requests) and connections that are idle (sitting in the connection pool).
Transport-level timeouts have a side effect of acting as TTL (expiration) for cached (idle) connection.
- Definition Classes
- TransportParams
- def receiveBufferSize(size: StorageUnit): A
Configures this client or server with given TCP receive buffer
size
(default: unspecified, a system-level value will be used).Configures this client or server with given TCP receive buffer
size
(default: unspecified, a system-level value will be used).- Definition Classes
- TransportParams
- def sendBufferSize(size: StorageUnit): A
Configures this client or server with given TCP send buffer
size
(default: unspecified, a system-level value will be used).Configures this client or server with given TCP send buffer
size
(default: unspecified, a system-level value will be used).- Definition Classes
- TransportParams
- def sni(hostname: String): A
Configures SNI hostname for SSL
Configures SNI hostname for SSL
- See also
Java's SNIHostName for more details.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tls(context: SSLContext, hostname: String): A
Enables the TLS/SSL support (connection encrypting) with hostname validation on this client.
Enables the TLS/SSL support (connection encrypting) with hostname validation on this client. The TLS/SSL sessions are configured using the given
context
. - def tls(context: SSLContext): A
Enables SSL/TLS support (connection encrypting) with no hostname validation on this client.
Enables SSL/TLS support (connection encrypting) with no hostname validation on this client. The SSL/TLS are configured using the given
context
.- Note
It's recommended to not use SSLContext directly, but rely on Finagle to pick the most efficient SSL/TLS available on your platform.
- def tls(hostname: String): A
Enables SSL/TLS support (connection encrypting) on this client.
Enables SSL/TLS support (connection encrypting) on this client. Hostname verification will be provided against the given
hostname
. - def tls: A
Enables SSL/TLS support (connection encrypting) on this client.
Enables SSL/TLS support (connection encrypting) on this client.
- Note
Given that this uses default SSLContext, all configuration params (trust/key stores) should be passed as Java system properties.
- def tls(config: SslClientConfiguration, engineFactory: SslClientEngineFactory, sessionVerifier: SslClientSessionVerifier): A
Enables SSL/TLS support (connection encrypting) on this client.
- def tls(config: SslClientConfiguration, sessionVerifier: SslClientSessionVerifier): A
Enables SSL/TLS support (connection encrypting) on this client.
- def tls(config: SslClientConfiguration, engineFactory: SslClientEngineFactory): A
Enables SSL/TLS support (connection encrypting) on this client.
- def tls(config: SslClientConfiguration): A
Enables SSL/TLS support (connection encrypting) on this client.
- def tlsWithoutValidation: A
Enables the TLS/SSL support (connection encrypting) with no certificate validation on this client.
Enables the TLS/SSL support (connection encrypting) with no certificate validation on this client.
- Note
This makes a client trust any certificate sent by a server, which invalidates the entire idea of TLS/SSL. Use this carefully.
- def toString(): String
- Definition Classes
- AnyRef → Any
- def verbose: A
Makes the transport of this client or server verbose (default: disabled).
Makes the transport of this client or server verbose (default: disabled).
A verbose transport logs its activity onto a configured logger (by default, standard output).
- Definition Classes
- TransportParams
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def writeTimeout(timeout: Duration): A
Configures this client or server with given transport-level write
timeout
(default: unbounded).Configures this client or server with given transport-level write
timeout
(default: unbounded).The transport-level write timeout is the maximum amount of time a transport may not have sent any data. This covers both connections in use (have outstanding requests) and connections that are idle (sitting in the connection pool).
Transport-level timeouts have a side effect of acting as TTL (expiration) for cached (idle) connection.
- Definition Classes
- TransportParams