# Cheatsheets

## BridgeOptions

Specify the event bus bridge options.

Name | Type | Description
`inboundPermitted` | `Array of PermittedOptions` | -
`inboundPermitteds` | `Array of PermittedOptions` | -
`outboundPermitted` | `Array of PermittedOptions` | -
`outboundPermitteds` | `Array of PermittedOptions` | -
`pointToPoint` | `Boolean` | -

## Frame

Represents a STOMP frame. STOMP frames are structured as follows. It starts by a `command`, followed by a set of headers. Then the frame may have a body and is finished by a `0` byte. This class represents this structure and provide access to the different parts.

This class is NOT thread-safe.

Name | Type | Description
`body` | `Buffer` | Sets the body of the frame.
`command` | `Command` | Sets the frame command.
`destination` | `String` | -
`headers` | `String` | Sets the headers of the frames.
`id` | `String` | -
`transaction` | `String` | -

## PermittedOptions

Specify a match to allow for inbound and outbound traffic.

Name | Type | Description
`address` | `String` | The exact address the message is being sent to. If you want to allow messages based on an exact address you use this field.
`addressRegex` | `String` | A regular expression that will be matched against the address. If you want to allow messages based on a regular expression you use this field. If the link value is specified this will be ignored.

## StompServerOptions

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

Name | Type | Description
`acceptBacklog` | `Number (int)` | -
`clientAuth` | `ClientAuth` | -
`clientAuthRequired` | `Boolean` | -
`crlPaths` | `Array of String` | -
`crlValues` | `Array of Buffer` | -
`enabledCipherSuites` | `Array of String` | -
`heartbeat` | `Json object` | Sets the heartbeat configuration.
`host` | `String` | -
`idleTimeout` | `Number (int)` | -
`keyStoreOptions` | `JksOptions` | -
`maxBodyLength` | `Number (int)` | Sets the max body length accepted by the server. 10 Mb by default.
`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 `ERROR` frame and is disconnected. The default is 1000.
`maxHeaderLength` | `Number (int)` | Sets the max header length.
`maxHeaders` | `Number (int)` | Sets the maximum number of headers. 1000 by default.
`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.
`pemKeyCertOptions` | `PemKeyCertOptions` | -
`pemTrustOptions` | `PemTrustOptions` | -
`pfxKeyCertOptions` | `PfxOptions` | -
`pfxTrustOptions` | `PfxOptions` | -
`port` | `Number (int)` | -
`receiveBufferSize` | `Number (int)` | -
`reuseAddress` | `Boolean` | -
`secured` | `Boolean` | Enables or disables the server security feature. It requires an link handler.
`sendBufferSize` | `Number (int)` | -
`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).
`soLinger` | `Number (int)` | -
`ssl` | `Boolean` | -
`supportedVersions` | `Array of String` | Sets the STOMP protocol versions supported by the server. Versions must be given in the decreasing order.
`tcpKeepAlive` | `Boolean` | -
`tcpNoDelay` | `Boolean` | -
`timeFactor` | `Number (int)` | Sets the time factor.
`trafficClass` | `Number (int)` | -
`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` | `JksOptions` | -
`usePooledBuffers` | `Boolean` | -

## StompClientOptions

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

Name | Type | Description
`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: `1.0, 1.1, 1.2`
`autoComputeContentLength` | `Boolean` | Sets whether or not the automatic computation of the `content-length` header is enabled. If enabled, the `content-length` header is set in all frame with a body that do not explicitly set the header. The option is enabled by default.
`bypassHostHeader` | `Boolean` | Sets whether or not the `host` header must be dropped from the `CONNECT/STOMP` frame. Server may be picky about this header (such as RabbitMQ that does not support it). Options disabled by default.
`connectTimeout` | `Number (int)` | -
`crlPaths` | `Array of String` | -
`crlValues` | `Array of Buffer` | -
`enabledCipherSuites` | `Array of String` | -
`heartbeat` | `Json object` | Sets the heartbeat configuration.
`host` | `String` | Sets the STOMP server host. `0.0.0.0` by default.
`idleTimeout` | `Number (int)` | -
`keyStoreOptions` | `JksOptions` | -
`login` | `String` | Sets the login to use if the STOMP server is secured.
`passcode` | `String` | Sets the passcode to use if the STOMP server is secured.
`pemKeyCertOptions` | `PemKeyCertOptions` | -
`pemTrustOptions` | `PemTrustOptions` | -
`pfxKeyCertOptions` | `PfxOptions` | -
`pfxTrustOptions` | `PfxOptions` | -
`port` | `Number (int)` | Sets the STOMP server port. `61613` by default.
`receiveBufferSize` | `Number (int)` | -
`reconnectAttempts` | `Number (int)` | -
`reconnectInterval` | `Number (long)` | -
`reuseAddress` | `Boolean` | -
`sendBufferSize` | `Number (int)` | -
`soLinger` | `Number (int)` | -
`ssl` | `Boolean` | -
`tcpKeepAlive` | `Boolean` | -
`tcpNoDelay` | `Boolean` | -
`trafficClass` | `Number (int)` | -
`trustAll` | `Boolean` | -
`trustStoreOptions` | `JksOptions` | -
`usePooledBuffers` | `Boolean` | -
`useStompFrame` | `Boolean` | Sets whether or not the connection is made using the `STOMP` command instead of the `CONNECT` command. The `STOMP` command has been introduced in the 1.2 version of the protocol to ease the network analysis (as `CONNECT` 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.