# Cheatsheets

## MqttAuth

MQTT authentication information

Name | Type | Description
`@password` | `String` |
`@username` | `String` |

## MqttClientOptions

Represents options used by the MQTT client.

Name | Type | Description
`@ackTimeout` | `Number (int)` | 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` | `Boolean` | Set if the MQTT client must generate clientId automatically (default is true)
`@autoKeepAlive` | `Boolean` | Set if the MQTT client must handle PINGREQ automatically (default is true)
`@cleanSession` | `Boolean` | Set to start with a clean session (or not)
`@clientId` | `String` | Set the client identifier
`@connectTimeout` | `Number (int)` | -
`@crlPaths` | `Array of String` | -
`@crlValues` | `Array of Buffer` | -
`@enabledCipherSuites` | `Array of String` | -
`@enabledSecureTransportProtocols` | `Array of String` | -
`@hostnameVerificationAlgorithm` | `String` | -
`@idleTimeout` | `Number (int)` | Do the same thing as link (int)}. Use it instead.
`@idleTimeoutUnit` | `TimeUnit` | -
`@keepAliveInterval` | `Number (int)` | Set the keep alive interval in seconds
`@localAddress` | `String` | -
`@logActivity` | `Boolean` | -
`@maxInflightQueue` | `Number (int)` | Set max count of unacknowledged messages
`@maxMessageSize` | `Number (int)` | Set max MQTT message size
`@metricsName` | `String` | -
`@password` | `String` | Set the password
`@receiveBufferSize` | `Number (int)` | -
`@reconnectAttempts` | `Number (int)` | -
`@reconnectInterval` | `Number (long)` | -
`@reuseAddress` | `Boolean` | -
`@reusePort` | `Boolean` | -
`@sendBufferSize` | `Number (int)` | -
`@soLinger` | `Number (int)` | -
`@ssl` | `Boolean` | -
`@sslHandshakeTimeout` | `Number (long)` | -
`@sslHandshakeTimeoutUnit` | `TimeUnit` | -
`@tcpCork` | `Boolean` | -
`@tcpFastOpen` | `Boolean` | -
`@tcpKeepAlive` | `Boolean` | -
`@tcpNoDelay` | `Boolean` | -
`@tcpQuickAck` | `Boolean` | -
`@trafficClass` | `Number (int)` | -
`@trustAll` | `Boolean` | -
`@useAlpn` | `Boolean` | -
`@username` | `String` | Set the username
`@willFlag` | `Boolean` | Set if will information are provided on connection
`@willMessage` | `String` | Set the content of the will message
`@willQoS` | `Number (int)` | Set the QoS level for the will message
`@willRetain` | `Boolean` | Set if the will message must be retained
`@willTopic` | `String` | Set the topic on which the will message will be published

## MqttServerOptions

Represents options used by the MQTT server

Name | Type | Description
`@acceptBacklog` | `Number (int)` | -
`@autoClientId` | `Boolean` | Set if clientid should be auto-generated when it's "zero-bytes"
`@clientAuth` | `ClientAuth` | -
`@crlPaths` | `Array of String` | -
`@crlValues` | `Array of Buffer` | -
`@enabledCipherSuites` | `Array of String` | -
`@enabledSecureTransportProtocols` | `Array of String` | -
`@host` | `String` | -
`@idleTimeout` | `Number (int)` | -
`@idleTimeoutUnit` | `TimeUnit` | -
`@logActivity` | `Boolean` | -
`@maxMessageSize` | `Number (int)` | Set max MQTT message size
`@port` | `Number (int)` | -
`@proxyProtocolTimeout` | `Number (long)` | -
`@proxyProtocolTimeoutUnit` | `TimeUnit` | -
`@receiveBufferSize` | `Number (int)` | -
`@reuseAddress` | `Boolean` | -
`@reusePort` | `Boolean` | -
`@sendBufferSize` | `Number (int)` | -
`@sni` | `Boolean` | -
`@soLinger` | `Number (int)` | -
`@ssl` | `Boolean` | -
`@sslHandshakeTimeout` | `Number (long)` | -
`@sslHandshakeTimeoutUnit` | `TimeUnit` | -
`@tcpCork` | `Boolean` | -
`@tcpFastOpen` | `Boolean` | -
`@tcpKeepAlive` | `Boolean` | -
`@tcpNoDelay` | `Boolean` | -
`@tcpQuickAck` | `Boolean` | -
`@timeoutOnConnect` | `Number (int)` | Set the timeout on CONNECT packet
`@trafficClass` | `Number (int)` | -
`@useAlpn` | `Boolean` | -
`@useProxyProtocol` | `Boolean` | -
`@useWebSocket` | `Boolean` | enable mqtt over websocket

## MqttWill

Will information from the remote MQTT client

Name | Type | Description
`@willFlag` | `Boolean` |
`@willMessage` | `Buffer` |
`@willQos` | `Number (int)` |
`@willRetain` | `Boolean` |
`@willTopic` | `String` |