= Cheatsheets

[[BridgeOptions]]
== BridgeOptions

++++
Specify the event bus bridge options.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[inboundPermitteds]]`@inboundPermitteds`|`Array of link:dataobjects.html#PermittedOptions[PermittedOptions]`|-
|[[outboundPermitteds]]`@outboundPermitteds`|`Array of link:dataobjects.html#PermittedOptions[PermittedOptions]`|-
|[[pointToPoint]]`@pointToPoint`|`Boolean`|-
|===

[[Frame]]
== Frame

++++
Represents a STOMP frame. STOMP frames are structured as follows. It starts by a <code>command</code>, followed by a
set of headers. Then the frame may have a body and is finished by a <code>0</code> byte. This class represents this
structure and provide access to the different parts.
<p/>
This class is <strong>NOT</strong> thread-safe.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[ack]]`@ack`|`String`|+++
Gets the value of the <code>ack</code> header.
+++
|[[body]]`@body`|`Buffer`|+++
Sets the body of the frame.
+++
|[[bodyAsString]]`@bodyAsString`|`String`|+++
Gets the body of the frames as a String encoded in the frame encoding.
+++
|[[command]]`@command`|`link:enums.html#Command[Command]`|+++
Sets the frame command.
+++
|[[destination]]`@destination`|`String`|-
|[[headers]]`@headers`|`String`|+++
Sets the headers of the frames.
+++
|[[id]]`@id`|`String`|-
|[[receipt]]`@receipt`|`String`|-
|[[transaction]]`@transaction`|`String`|-
|===

[[StompClientOptions]]
== StompClientOptions

++++
Options used to configure a STOMP client. As a STOMP client wraps a Net client, you can also configure the
underlying NET client.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[acceptedVersions]]`@acceptedVersions`|`Array of String`|+++
Sets the list of STOMP protocol versions accepted by the client. The list must be ordered from the lowest
version to the highest. By default the following list is used: <code>1.0, 1.1, 1.2</code>
+++
|[[autoComputeContentLength]]`@autoComputeContentLength`|`Boolean`|+++
Sets whether or not the automatic computation of the <code>content-length</code> header is enabled. If enabled, the
<code>content-length</code> header is set in all frame with a body that do not explicitly set the header. The option
is enabled by default.
+++
|[[bypassHostHeader]]`@bypassHostHeader`|`Boolean`|+++
Sets whether or not the <code>host</code> header must be dropped from the <code>CONNECT/STOMP</code> frame. Server may
be picky about this header (such as RabbitMQ that does not support it). Options disabled by default.
+++
|[[connectTimeout]]`@connectTimeout`|`Number (int)`|-
|[[crlPaths]]`@crlPaths`|`Array of String`|-
|[[crlValues]]`@crlValues`|`Array of Buffer`|-
|[[enabledCipherSuites]]`@enabledCipherSuites`|`Array of String`|-
|[[enabledSecureTransportProtocols]]`@enabledSecureTransportProtocols`|`Array of String`|-
|[[heartbeat]]`@heartbeat`|`Json object`|+++
Sets the heartbeat configuration.
+++
|[[host]]`@host`|`String`|+++
Sets the STOMP server host. <code>0.0.0.0</code> by default.
+++
|[[hostnameVerificationAlgorithm]]`@hostnameVerificationAlgorithm`|`String`|-
|[[idleTimeout]]`@idleTimeout`|`Number (int)`|-
|[[idleTimeoutUnit]]`@idleTimeoutUnit`|`link:enums.html#TimeUnit[TimeUnit]`|-
|[[jdkSslEngineOptions]]`@jdkSslEngineOptions`|`link:dataobjects.html#JdkSSLEngineOptions[JdkSSLEngineOptions]`|-
|[[keyStoreOptions]]`@keyStoreOptions`|`link:dataobjects.html#JksOptions[JksOptions]`|-
|[[localAddress]]`@localAddress`|`String`|-
|[[logActivity]]`@logActivity`|`Boolean`|-
|[[login]]`@login`|`String`|+++
Sets the login to use if the STOMP server is secured.
+++
|[[metricsName]]`@metricsName`|`String`|-
|[[openSslEngineOptions]]`@openSslEngineOptions`|`link:dataobjects.html#OpenSSLEngineOptions[OpenSSLEngineOptions]`|-
|[[passcode]]`@passcode`|`String`|+++
Sets the passcode to use if the STOMP server is secured.
+++
|[[pemKeyCertOptions]]`@pemKeyCertOptions`|`link:dataobjects.html#PemKeyCertOptions[PemKeyCertOptions]`|-
|[[pemTrustOptions]]`@pemTrustOptions`|`link:dataobjects.html#PemTrustOptions[PemTrustOptions]`|-
|[[pfxKeyCertOptions]]`@pfxKeyCertOptions`|`link:dataobjects.html#PfxOptions[PfxOptions]`|-
|[[pfxTrustOptions]]`@pfxTrustOptions`|`link:dataobjects.html#PfxOptions[PfxOptions]`|-
|[[port]]`@port`|`Number (int)`|+++
Sets the STOMP server port. <code>61613</code> by default.
+++
|[[proxyOptions]]`@proxyOptions`|`link:dataobjects.html#ProxyOptions[ProxyOptions]`|-
|[[receiveBufferSize]]`@receiveBufferSize`|`Number (int)`|-
|[[reconnectAttempts]]`@reconnectAttempts`|`Number (int)`|-
|[[reconnectInterval]]`@reconnectInterval`|`Number (long)`|-
|[[reuseAddress]]`@reuseAddress`|`Boolean`|-
|[[reusePort]]`@reusePort`|`Boolean`|-
|[[sendBufferSize]]`@sendBufferSize`|`Number (int)`|-
|[[soLinger]]`@soLinger`|`Number (int)`|-
|[[ssl]]`@ssl`|`Boolean`|-
|[[tcpCork]]`@tcpCork`|`Boolean`|-
|[[tcpFastOpen]]`@tcpFastOpen`|`Boolean`|-
|[[tcpKeepAlive]]`@tcpKeepAlive`|`Boolean`|-
|[[tcpNoDelay]]`@tcpNoDelay`|`Boolean`|-
|[[tcpQuickAck]]`@tcpQuickAck`|`Boolean`|-
|[[trafficClass]]`@trafficClass`|`Number (int)`|-
|[[trailingLine]]`@trailingLine`|`Boolean`|+++
Sets whether or not an empty line should be appended to the written STOMP frame. This option is disabled by
default. This option is not compliant with the STOMP specification, and so is not documented on purpose.
+++
|[[trustAll]]`@trustAll`|`Boolean`|-
|[[trustStoreOptions]]`@trustStoreOptions`|`link:dataobjects.html#JksOptions[JksOptions]`|-
|[[useAlpn]]`@useAlpn`|`Boolean`|-
|[[usePooledBuffers]]`@usePooledBuffers`|`Boolean`|-
|[[useStompFrame]]`@useStompFrame`|`Boolean`|+++
Sets whether or not the connection is made using the <code>STOMP</code> command instead of the <code>CONNECT</code> command.
The <code>STOMP</code> command has been introduced in the 1.2 version of the protocol to ease the network analysis
(as <code>CONNECT</code> is also used by HTTP. To be compliant with server not implementing the 1.2 specification,
this option should be disabled. This option is disabled by default.
+++
|[[virtualHost]]`@virtualHost`|`String`|+++
Sets the virtual host that will be used as "host" header value in the `CONNECT` frame.
+++
|===

[[StompServerOptions]]
== StompServerOptions

++++
STOMP Server options. You can also configure the Net Server used by the STOMP server from these options.
++++
'''

[cols=">25%,25%,50%"]
[frame="topbot"]
|===
^|Name | Type ^| Description
|[[acceptBacklog]]`@acceptBacklog`|`Number (int)`|-
|[[clientAuth]]`@clientAuth`|`link:enums.html#ClientAuth[ClientAuth]`|-
|[[clientAuthRequired]]`@clientAuthRequired`|`Boolean`|-
|[[crlPaths]]`@crlPaths`|`Array of String`|-
|[[crlValues]]`@crlValues`|`Array of Buffer`|-
|[[enabledCipherSuites]]`@enabledCipherSuites`|`Array of String`|-
|[[enabledSecureTransportProtocols]]`@enabledSecureTransportProtocols`|`Array of String`|-
|[[heartbeat]]`@heartbeat`|`Json object`|+++
Sets the heartbeat configuration.
+++
|[[host]]`@host`|`String`|-
|[[idleTimeout]]`@idleTimeout`|`Number (int)`|-
|[[idleTimeoutUnit]]`@idleTimeoutUnit`|`link:enums.html#TimeUnit[TimeUnit]`|-
|[[jdkSslEngineOptions]]`@jdkSslEngineOptions`|`link:dataobjects.html#JdkSSLEngineOptions[JdkSSLEngineOptions]`|-
|[[keyStoreOptions]]`@keyStoreOptions`|`link:dataobjects.html#JksOptions[JksOptions]`|-
|[[logActivity]]`@logActivity`|`Boolean`|-
|[[maxBodyLength]]`@maxBodyLength`|`Number (int)`|+++
Sets the max body length accepted by the server. 10 Mb by default.
+++
|[[maxFrameInTransaction]]`@maxFrameInTransaction`|`Number (int)`|+++
Sets the maximum number of frame that can be added in a transaction. If the number of frame added to a
transaction exceeds this threshold, the client receives an <code>ERROR</code> frame and is disconnected. The default
is 1000.
+++
|[[maxHeaderLength]]`@maxHeaderLength`|`Number (int)`|+++
Sets the max header length.
+++
|[[maxHeaders]]`@maxHeaders`|`Number (int)`|+++
Sets the maximum number of headers. 1000 by default.
+++
|[[maxSubscriptionsByClient]]`@maxSubscriptionsByClient`|`Number (int)`|+++
Sets the maximum of subscriptions a client is allowed to register. If a client exceeds this number, it receives
an error and the connection is closed.
+++
|[[openSslEngineOptions]]`@openSslEngineOptions`|`link:dataobjects.html#OpenSSLEngineOptions[OpenSSLEngineOptions]`|-
|[[pemKeyCertOptions]]`@pemKeyCertOptions`|`link:dataobjects.html#PemKeyCertOptions[PemKeyCertOptions]`|-
|[[pemTrustOptions]]`@pemTrustOptions`|`link:dataobjects.html#PemTrustOptions[PemTrustOptions]`|-
|[[pfxKeyCertOptions]]`@pfxKeyCertOptions`|`link:dataobjects.html#PfxOptions[PfxOptions]`|-
|[[pfxTrustOptions]]`@pfxTrustOptions`|`link:dataobjects.html#PfxOptions[PfxOptions]`|-
|[[port]]`@port`|`Number (int)`|+++
Sets the port on which the server is going to listen for TCP connection.
+++
|[[receiveBufferSize]]`@receiveBufferSize`|`Number (int)`|-
|[[reuseAddress]]`@reuseAddress`|`Boolean`|-
|[[reusePort]]`@reusePort`|`Boolean`|-
|[[secured]]`@secured`|`Boolean`|+++
Enables or disables the server security feature. It requires an link handler.
+++
|[[sendBufferSize]]`@sendBufferSize`|`Number (int)`|-
|[[sendErrorOnNoSubscriptions]]`@sendErrorOnNoSubscriptions`|`Boolean`|+++
Sets whether or not an error is sent to the client when this client sends a message to an not subscribed
destinations (no subscriptions on this destination).
+++
|[[sni]]`@sni`|`Boolean`|-
|[[soLinger]]`@soLinger`|`Number (int)`|-
|[[ssl]]`@ssl`|`Boolean`|-
|[[supportedVersions]]`@supportedVersions`|`Array of String`|+++
Sets the STOMP protocol versions supported by the server. Versions must be given in the decreasing order.
+++
|[[tcpCork]]`@tcpCork`|`Boolean`|-
|[[tcpFastOpen]]`@tcpFastOpen`|`Boolean`|-
|[[tcpKeepAlive]]`@tcpKeepAlive`|`Boolean`|-
|[[tcpNoDelay]]`@tcpNoDelay`|`Boolean`|-
|[[tcpQuickAck]]`@tcpQuickAck`|`Boolean`|-
|[[timeFactor]]`@timeFactor`|`Number (int)`|+++
Sets the time factor.
+++
|[[trafficClass]]`@trafficClass`|`Number (int)`|-
|[[trailingLine]]`@trailingLine`|`Boolean`|+++
Sets whether or not an empty line should be appended to the written STOMP frame. This option is disabled by
default. This option is not compliant with the STOMP specification, and so is not documented on purpose.
+++
|[[transactionChunkSize]]`@transactionChunkSize`|`Number (int)`|+++
Sets the chunk size when replaying a transaction. To avoid blocking the event loop for too long, large
transactions are split into chunks, replayed one by one. This settings sets the chunk size.
+++
|[[trustStoreOptions]]`@trustStoreOptions`|`link:dataobjects.html#JksOptions[JksOptions]`|-
|[[useAlpn]]`@useAlpn`|`Boolean`|-
|[[usePooledBuffers]]`@usePooledBuffers`|`Boolean`|-
|[[websocketBridge]]`@websocketBridge`|`Boolean`|+++
Enables or disables the web socket bridge.
+++
|[[websocketPath]]`@websocketPath`|`String`|+++
Sets the websocket path. Only frames received on this path would be considered as STOMP frame.
+++
|===