All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.vertx.kotlin.core.net.NetClientOptions.kt Maven / Gradle / Ivy

There is a newer version: 5.0.0.CR1
Show newest version
/*
 * Copyright 2019 Red Hat, Inc.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 * The Eclipse Public License is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * The Apache License v2.0 is available at
 * http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */
package io.vertx.kotlin.core.net

import io.vertx.core.net.NetClientOptions
import io.vertx.core.net.JdkSSLEngineOptions
import io.vertx.core.net.JksOptions
import io.vertx.core.net.OpenSSLEngineOptions
import io.vertx.core.net.PemKeyCertOptions
import io.vertx.core.net.PemTrustOptions
import io.vertx.core.net.PfxOptions
import io.vertx.core.net.ProxyOptions
import java.util.concurrent.TimeUnit

/**
 * A function providing a DSL for building [io.vertx.core.net.NetClientOptions] objects.
 *
 * Options for configuring a [io.vertx.core.net.NetClient].
 *
 * @param connectTimeout  Set the connect timeout
 * @param crlPaths  Add a CRL path
 * @param crlValues  Add a CRL value
 * @param enabledCipherSuites  Add an enabled cipher suite, appended to the ordered suites.
 * @param enabledSecureTransportProtocols  Sets the list of enabled SSL/TLS protocols.
 * @param hostnameVerificationAlgorithm  Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String
 * @param idleTimeout  Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use [io.vertx.core.net.NetClientOptions]
 * @param idleTimeoutUnit  Set the idle timeout unit. If not specified, default is seconds.
 * @param jdkSslEngineOptions 
 * @param keyStoreOptions  Set the key/cert options in jks format, aka Java keystore.
 * @param localAddress  Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.
 * @param logActivity  Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
 * @param metricsName  Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
 * @param openSslEngineOptions 
 * @param pemKeyCertOptions  Set the key/cert store options in pem format.
 * @param pemTrustOptions  Set the trust options in pem format
 * @param pfxKeyCertOptions  Set the key/cert options in pfx format.
 * @param pfxTrustOptions  Set the trust options in pfx format
 * @param proxyOptions  Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
 * @param receiveBufferSize  Set the TCP receive buffer size
 * @param reconnectAttempts  Set the value of reconnect attempts
 * @param reconnectInterval  Set the reconnect interval
 * @param reuseAddress  Set the value of reuse address
 * @param reusePort  Set the value of reuse port. 

This is only supported by native transports. * @param sendBufferSize Set the TCP send buffer size * @param soLinger Set whether SO_linger keep alive is enabled * @param ssl Set whether SSL/TLS is enabled * @param sslHandshakeTimeout Set the SSL handshake timeout, default time unit is seconds. * @param sslHandshakeTimeoutUnit Set the SSL handshake timeout unit. If not specified, default is seconds. * @param tcpCork Enable the TCP_CORK option - only with linux native transport. * @param tcpFastOpen Enable the TCP_FASTOPEN option - only with linux native transport. * @param tcpKeepAlive Set whether TCP keep alive is enabled * @param tcpNoDelay Set whether TCP no delay is enabled * @param tcpQuickAck Enable the TCP_QUICKACK option - only with linux native transport. * @param tcpUserTimeout Sets the TCP_USER_TIMEOUT option - only with linux native transport. * @param trafficClass Set the value of traffic class * @param trustAll Set whether all server certificates should be trusted * @param trustStoreOptions Set the trust options in jks format, aka Java truststore * @param useAlpn Set the ALPN usage. * @param usePooledBuffers Set whether Netty pooled buffers are enabled * *

* NOTE: This function has been automatically generated from the [io.vertx.core.net.NetClientOptions original] using Vert.x codegen. */ fun netClientOptionsOf( connectTimeout: Int? = null, crlPaths: Iterable? = null, crlValues: Iterable? = null, enabledCipherSuites: Iterable? = null, enabledSecureTransportProtocols: Iterable? = null, hostnameVerificationAlgorithm: String? = null, idleTimeout: Int? = null, idleTimeoutUnit: TimeUnit? = null, jdkSslEngineOptions: io.vertx.core.net.JdkSSLEngineOptions? = null, keyStoreOptions: io.vertx.core.net.JksOptions? = null, localAddress: String? = null, logActivity: Boolean? = null, metricsName: String? = null, openSslEngineOptions: io.vertx.core.net.OpenSSLEngineOptions? = null, pemKeyCertOptions: io.vertx.core.net.PemKeyCertOptions? = null, pemTrustOptions: io.vertx.core.net.PemTrustOptions? = null, pfxKeyCertOptions: io.vertx.core.net.PfxOptions? = null, pfxTrustOptions: io.vertx.core.net.PfxOptions? = null, proxyOptions: io.vertx.core.net.ProxyOptions? = null, receiveBufferSize: Int? = null, reconnectAttempts: Int? = null, reconnectInterval: Long? = null, reuseAddress: Boolean? = null, reusePort: Boolean? = null, sendBufferSize: Int? = null, soLinger: Int? = null, ssl: Boolean? = null, sslHandshakeTimeout: Long? = null, sslHandshakeTimeoutUnit: TimeUnit? = null, tcpCork: Boolean? = null, tcpFastOpen: Boolean? = null, tcpKeepAlive: Boolean? = null, tcpNoDelay: Boolean? = null, tcpQuickAck: Boolean? = null, tcpUserTimeout: Int? = null, trafficClass: Int? = null, trustAll: Boolean? = null, trustStoreOptions: io.vertx.core.net.JksOptions? = null, useAlpn: Boolean? = null, usePooledBuffers: Boolean? = null): NetClientOptions = io.vertx.core.net.NetClientOptions().apply { if (connectTimeout != null) { this.setConnectTimeout(connectTimeout) } if (crlPaths != null) { for (item in crlPaths) { this.addCrlPath(item) } } if (crlValues != null) { for (item in crlValues) { this.addCrlValue(item) } } if (enabledCipherSuites != null) { for (item in enabledCipherSuites) { this.addEnabledCipherSuite(item) } } if (enabledSecureTransportProtocols != null) { this.setEnabledSecureTransportProtocols(enabledSecureTransportProtocols.toSet()) } if (hostnameVerificationAlgorithm != null) { this.setHostnameVerificationAlgorithm(hostnameVerificationAlgorithm) } if (idleTimeout != null) { this.setIdleTimeout(idleTimeout) } if (idleTimeoutUnit != null) { this.setIdleTimeoutUnit(idleTimeoutUnit) } if (jdkSslEngineOptions != null) { this.setJdkSslEngineOptions(jdkSslEngineOptions) } if (keyStoreOptions != null) { this.setKeyStoreOptions(keyStoreOptions) } if (localAddress != null) { this.setLocalAddress(localAddress) } if (logActivity != null) { this.setLogActivity(logActivity) } if (metricsName != null) { this.setMetricsName(metricsName) } if (openSslEngineOptions != null) { this.setOpenSslEngineOptions(openSslEngineOptions) } if (pemKeyCertOptions != null) { this.setPemKeyCertOptions(pemKeyCertOptions) } if (pemTrustOptions != null) { this.setPemTrustOptions(pemTrustOptions) } if (pfxKeyCertOptions != null) { this.setPfxKeyCertOptions(pfxKeyCertOptions) } if (pfxTrustOptions != null) { this.setPfxTrustOptions(pfxTrustOptions) } if (proxyOptions != null) { this.setProxyOptions(proxyOptions) } if (receiveBufferSize != null) { this.setReceiveBufferSize(receiveBufferSize) } if (reconnectAttempts != null) { this.setReconnectAttempts(reconnectAttempts) } if (reconnectInterval != null) { this.setReconnectInterval(reconnectInterval) } if (reuseAddress != null) { this.setReuseAddress(reuseAddress) } if (reusePort != null) { this.setReusePort(reusePort) } if (sendBufferSize != null) { this.setSendBufferSize(sendBufferSize) } if (soLinger != null) { this.setSoLinger(soLinger) } if (ssl != null) { this.setSsl(ssl) } if (sslHandshakeTimeout != null) { this.setSslHandshakeTimeout(sslHandshakeTimeout) } if (sslHandshakeTimeoutUnit != null) { this.setSslHandshakeTimeoutUnit(sslHandshakeTimeoutUnit) } if (tcpCork != null) { this.setTcpCork(tcpCork) } if (tcpFastOpen != null) { this.setTcpFastOpen(tcpFastOpen) } if (tcpKeepAlive != null) { this.setTcpKeepAlive(tcpKeepAlive) } if (tcpNoDelay != null) { this.setTcpNoDelay(tcpNoDelay) } if (tcpQuickAck != null) { this.setTcpQuickAck(tcpQuickAck) } if (tcpUserTimeout != null) { this.setTcpUserTimeout(tcpUserTimeout) } if (trafficClass != null) { this.setTrafficClass(trafficClass) } if (trustAll != null) { this.setTrustAll(trustAll) } if (trustStoreOptions != null) { this.setTrustStoreOptions(trustStoreOptions) } if (useAlpn != null) { this.setUseAlpn(useAlpn) } if (usePooledBuffers != null) { this.setUsePooledBuffers(usePooledBuffers) } } /** * A function providing a DSL for building [io.vertx.core.net.NetClientOptions] objects. * * Options for configuring a [io.vertx.core.net.NetClient]. * * @param connectTimeout Set the connect timeout * @param crlPaths Add a CRL path * @param crlValues Add a CRL value * @param enabledCipherSuites Add an enabled cipher suite, appended to the ordered suites. * @param enabledSecureTransportProtocols Sets the list of enabled SSL/TLS protocols. * @param hostnameVerificationAlgorithm Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String * @param idleTimeout Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use [io.vertx.core.net.NetClientOptions] * @param idleTimeoutUnit Set the idle timeout unit. If not specified, default is seconds. * @param jdkSslEngineOptions * @param keyStoreOptions Set the key/cert options in jks format, aka Java keystore. * @param localAddress Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null. * @param logActivity Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger. * @param metricsName Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name. * @param openSslEngineOptions * @param pemKeyCertOptions Set the key/cert store options in pem format. * @param pemTrustOptions Set the trust options in pem format * @param pfxKeyCertOptions Set the key/cert options in pfx format. * @param pfxTrustOptions Set the trust options in pfx format * @param proxyOptions Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy. * @param receiveBufferSize Set the TCP receive buffer size * @param reconnectAttempts Set the value of reconnect attempts * @param reconnectInterval Set the reconnect interval * @param reuseAddress Set the value of reuse address * @param reusePort Set the value of reuse port.

This is only supported by native transports. * @param sendBufferSize Set the TCP send buffer size * @param soLinger Set whether SO_linger keep alive is enabled * @param ssl Set whether SSL/TLS is enabled * @param sslHandshakeTimeout Set the SSL handshake timeout, default time unit is seconds. * @param sslHandshakeTimeoutUnit Set the SSL handshake timeout unit. If not specified, default is seconds. * @param tcpCork Enable the TCP_CORK option - only with linux native transport. * @param tcpFastOpen Enable the TCP_FASTOPEN option - only with linux native transport. * @param tcpKeepAlive Set whether TCP keep alive is enabled * @param tcpNoDelay Set whether TCP no delay is enabled * @param tcpQuickAck Enable the TCP_QUICKACK option - only with linux native transport. * @param tcpUserTimeout Sets the TCP_USER_TIMEOUT option - only with linux native transport. * @param trafficClass Set the value of traffic class * @param trustAll Set whether all server certificates should be trusted * @param trustStoreOptions Set the trust options in jks format, aka Java truststore * @param useAlpn Set the ALPN usage. * @param usePooledBuffers Set whether Netty pooled buffers are enabled * *

* NOTE: This function has been automatically generated from the [io.vertx.core.net.NetClientOptions original] using Vert.x codegen. */ @Deprecated( message = "This function will be removed in a future version", replaceWith = ReplaceWith("netClientOptionsOf(connectTimeout, crlPaths, crlValues, enabledCipherSuites, enabledSecureTransportProtocols, hostnameVerificationAlgorithm, idleTimeout, idleTimeoutUnit, jdkSslEngineOptions, keyStoreOptions, localAddress, logActivity, metricsName, openSslEngineOptions, pemKeyCertOptions, pemTrustOptions, pfxKeyCertOptions, pfxTrustOptions, proxyOptions, receiveBufferSize, reconnectAttempts, reconnectInterval, reuseAddress, reusePort, sendBufferSize, soLinger, ssl, sslHandshakeTimeout, sslHandshakeTimeoutUnit, tcpCork, tcpFastOpen, tcpKeepAlive, tcpNoDelay, tcpQuickAck, tcpUserTimeout, trafficClass, trustAll, trustStoreOptions, useAlpn, usePooledBuffers)") ) fun NetClientOptions( connectTimeout: Int? = null, crlPaths: Iterable? = null, crlValues: Iterable? = null, enabledCipherSuites: Iterable? = null, enabledSecureTransportProtocols: Iterable? = null, hostnameVerificationAlgorithm: String? = null, idleTimeout: Int? = null, idleTimeoutUnit: TimeUnit? = null, jdkSslEngineOptions: io.vertx.core.net.JdkSSLEngineOptions? = null, keyStoreOptions: io.vertx.core.net.JksOptions? = null, localAddress: String? = null, logActivity: Boolean? = null, metricsName: String? = null, openSslEngineOptions: io.vertx.core.net.OpenSSLEngineOptions? = null, pemKeyCertOptions: io.vertx.core.net.PemKeyCertOptions? = null, pemTrustOptions: io.vertx.core.net.PemTrustOptions? = null, pfxKeyCertOptions: io.vertx.core.net.PfxOptions? = null, pfxTrustOptions: io.vertx.core.net.PfxOptions? = null, proxyOptions: io.vertx.core.net.ProxyOptions? = null, receiveBufferSize: Int? = null, reconnectAttempts: Int? = null, reconnectInterval: Long? = null, reuseAddress: Boolean? = null, reusePort: Boolean? = null, sendBufferSize: Int? = null, soLinger: Int? = null, ssl: Boolean? = null, sslHandshakeTimeout: Long? = null, sslHandshakeTimeoutUnit: TimeUnit? = null, tcpCork: Boolean? = null, tcpFastOpen: Boolean? = null, tcpKeepAlive: Boolean? = null, tcpNoDelay: Boolean? = null, tcpQuickAck: Boolean? = null, tcpUserTimeout: Int? = null, trafficClass: Int? = null, trustAll: Boolean? = null, trustStoreOptions: io.vertx.core.net.JksOptions? = null, useAlpn: Boolean? = null, usePooledBuffers: Boolean? = null): NetClientOptions = io.vertx.core.net.NetClientOptions().apply { if (connectTimeout != null) { this.setConnectTimeout(connectTimeout) } if (crlPaths != null) { for (item in crlPaths) { this.addCrlPath(item) } } if (crlValues != null) { for (item in crlValues) { this.addCrlValue(item) } } if (enabledCipherSuites != null) { for (item in enabledCipherSuites) { this.addEnabledCipherSuite(item) } } if (enabledSecureTransportProtocols != null) { this.setEnabledSecureTransportProtocols(enabledSecureTransportProtocols.toSet()) } if (hostnameVerificationAlgorithm != null) { this.setHostnameVerificationAlgorithm(hostnameVerificationAlgorithm) } if (idleTimeout != null) { this.setIdleTimeout(idleTimeout) } if (idleTimeoutUnit != null) { this.setIdleTimeoutUnit(idleTimeoutUnit) } if (jdkSslEngineOptions != null) { this.setJdkSslEngineOptions(jdkSslEngineOptions) } if (keyStoreOptions != null) { this.setKeyStoreOptions(keyStoreOptions) } if (localAddress != null) { this.setLocalAddress(localAddress) } if (logActivity != null) { this.setLogActivity(logActivity) } if (metricsName != null) { this.setMetricsName(metricsName) } if (openSslEngineOptions != null) { this.setOpenSslEngineOptions(openSslEngineOptions) } if (pemKeyCertOptions != null) { this.setPemKeyCertOptions(pemKeyCertOptions) } if (pemTrustOptions != null) { this.setPemTrustOptions(pemTrustOptions) } if (pfxKeyCertOptions != null) { this.setPfxKeyCertOptions(pfxKeyCertOptions) } if (pfxTrustOptions != null) { this.setPfxTrustOptions(pfxTrustOptions) } if (proxyOptions != null) { this.setProxyOptions(proxyOptions) } if (receiveBufferSize != null) { this.setReceiveBufferSize(receiveBufferSize) } if (reconnectAttempts != null) { this.setReconnectAttempts(reconnectAttempts) } if (reconnectInterval != null) { this.setReconnectInterval(reconnectInterval) } if (reuseAddress != null) { this.setReuseAddress(reuseAddress) } if (reusePort != null) { this.setReusePort(reusePort) } if (sendBufferSize != null) { this.setSendBufferSize(sendBufferSize) } if (soLinger != null) { this.setSoLinger(soLinger) } if (ssl != null) { this.setSsl(ssl) } if (sslHandshakeTimeout != null) { this.setSslHandshakeTimeout(sslHandshakeTimeout) } if (sslHandshakeTimeoutUnit != null) { this.setSslHandshakeTimeoutUnit(sslHandshakeTimeoutUnit) } if (tcpCork != null) { this.setTcpCork(tcpCork) } if (tcpFastOpen != null) { this.setTcpFastOpen(tcpFastOpen) } if (tcpKeepAlive != null) { this.setTcpKeepAlive(tcpKeepAlive) } if (tcpNoDelay != null) { this.setTcpNoDelay(tcpNoDelay) } if (tcpQuickAck != null) { this.setTcpQuickAck(tcpQuickAck) } if (tcpUserTimeout != null) { this.setTcpUserTimeout(tcpUserTimeout) } if (trafficClass != null) { this.setTrafficClass(trafficClass) } if (trustAll != null) { this.setTrustAll(trustAll) } if (trustStoreOptions != null) { this.setTrustStoreOptions(trustStoreOptions) } if (useAlpn != null) { this.setUseAlpn(useAlpn) } if (usePooledBuffers != null) { this.setUsePooledBuffers(usePooledBuffers) } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy