vertx / io.vertx.kotlin.mqtt / mqttClientOptionsOf

# mqttClientOptionsOf

`fun mqttClientOptionsOf(ackTimeout: Int? = null, autoGeneratedClientId: Boolean? = null, autoKeepAlive: Boolean? = null, cleanSession: Boolean? = null, clientId: String? = null, connectTimeout: Int? = null, crlPaths: Iterable<String>? = null, crlValues: Iterable<Buffer>? = null, enabledCipherSuites: Iterable<String>? = null, enabledSecureTransportProtocols: Iterable<String>? = null, hostnameVerificationAlgorithm: String? = null, idleTimeout: Int? = null, idleTimeoutUnit: TimeUnit? = null, jdkSslEngineOptions: JdkSSLEngineOptions? = null, keepAliveTimeSeconds: Int? = null, keyCertOptions: KeyCertOptions? = null, keyStoreOptions: JksOptions? = null, localAddress: String? = null, logActivity: Boolean? = null, maxInflightQueue: Int? = null, maxMessageSize: Int? = null, metricsName: String? = null, openSslEngineOptions: OpenSSLEngineOptions? = null, password: String? = null, pemKeyCertOptions: PemKeyCertOptions? = null, pemTrustOptions: PemTrustOptions? = null, pfxKeyCertOptions: PfxOptions? = null, pfxTrustOptions: PfxOptions? = null, proxyOptions: 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, sslEngineOptions: SSLEngineOptions? = null, sslHandshakeTimeout: Long? = null, sslHandshakeTimeoutUnit: TimeUnit? = null, tcpCork: Boolean? = null, tcpFastOpen: Boolean? = null, tcpKeepAlive: Boolean? = null, tcpNoDelay: Boolean? = null, tcpQuickAck: Boolean? = null, trafficClass: Int? = null, trustAll: Boolean? = null, trustOptions: TrustOptions? = null, trustStoreOptions: JksOptions? = null, useAlpn: Boolean? = null, username: String? = null, willFlag: Boolean? = null, willMessage: String? = null, willQoS: Int? = null, willRetain: Boolean? = null, willTopic: String? = null): MqttClientOptions`

A function providing a DSL for building io.vertx.mqtt.MqttClientOptions objects.

Represents options used by the MQTT client.

### Parameters

`ackTimeout` - Sets the time in seconds after which the client will stop waiting for a PUBACK, PUBREC or PUBCOMP packet from the server in response to a packet it has sent. The default value of this property is -1 which indicates that the client should wait an unlimited time for the server's acknowledgement.

`autoGeneratedClientId` - Set if the MQTT client must generate clientId automatically (default is true)

`autoKeepAlive` - Set if the MQTT client must handle PINGREQ automatically (default is true)

`cleanSession` - Set to start with a clean session (or not)

`clientId` - Set the client identifier

`connectTimeout` - Set the connect timeout

`crlPaths` - Add a CRL path

`crlValues` - Add a CRL value

`enabledCipherSuites` - Add an enabled cipher suite, appended to the ordered suites.

`enabledSecureTransportProtocols` - Sets the list of enabled SSL/TLS protocols.

`hostnameVerificationAlgorithm` - Set the hostname verification algorithm interval To disable hostname verification, set hostnameVerificationAlgorithm to an empty String

`idleTimeout` - Do the same thing as io.vertx.mqtt.MqttClientOptions. Use it instead.

`idleTimeoutUnit` - Set the idle timeout unit. If not specified, default is seconds.

`jdkSslEngineOptions` -

`keepAliveTimeSeconds` - Set the keep alive timeout in seconds

`keyCertOptions` - Set the key/cert options.

`keyStoreOptions` - Set the key/cert options in jks format, aka Java keystore.

`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.

`logActivity` - Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.

`maxInflightQueue` - Set max count of unacknowledged messages

`maxMessageSize` - Set max MQTT message size

`metricsName` - Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.

`openSslEngineOptions` -

`password` - Set the password

`pemKeyCertOptions` - Set the key/cert store options in pem format.

`pemTrustOptions` - Set the trust options in pem format

`pfxKeyCertOptions` - Set the key/cert options in pfx format.

`pfxTrustOptions` - Set the trust options in pfx format

`proxyOptions` - Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.

`receiveBufferSize` - Set the TCP receive buffer size

`reconnectAttempts` - Set the value of reconnect attempts

`reconnectInterval` - Set the reconnect interval

`reuseAddress` - Set the value of reuse address

`reusePort` - Set the value of reuse port. This is only supported by native transports.

`sendBufferSize` - Set the TCP send buffer size

`soLinger` - Set whether SO_linger keep alive is enabled

`ssl` - Set whether SSL/TLS is enabled

`sslEngineOptions` - Set to use SSL engine implementation to use.

`sslHandshakeTimeout` - Set the SSL handshake timeout, default time unit is seconds.

`sslHandshakeTimeoutUnit` - Set the SSL handshake timeout unit. If not specified, default is seconds.

`tcpCork` - Enable the TCP_CORK option - only with linux native transport.

`tcpFastOpen` - Enable the TCP_FASTOPEN option - only with linux native transport.

`tcpKeepAlive` - Set whether TCP keep alive is enabled

`tcpNoDelay` - Set whether TCP no delay is enabled

`tcpQuickAck` - Enable the TCP_QUICKACK option - only with linux native transport.

`trafficClass` - Set the value of traffic class

`trustAll` - Set whether all server certificates should be trusted

`trustOptions` - Set the trust options.

`trustStoreOptions` - Set the trust options in jks format, aka Java truststore

`useAlpn` - Set the ALPN usage.

`username` - Set the username

`willFlag` - Set if will information are provided on connection

`willMessage` - Set the content of the will message

`willQoS` - Set the QoS level for the will message

`willRetain` - Set if the will message must be retained

`willTopic` - Set the topic on which the will message will be published