- java.lang.Object
-
- io.vertx.core.net.NetworkOptions
-
- io.vertx.core.net.TCPSSLOptions
-
- io.vertx.core.net.NetServerOptions
-
- io.vertx.mqtt.MqttServerOptions
-
public class MqttServerOptions extends NetServerOptions
Represents options used by the MQTT server
-
-
Field Summary
Fields Modifier and Type Field Description static boolean
DEFAULT_AUTO_CLIENT_ID
static int
DEFAULT_MAX_CLIENT_ID_LENGTH
static int
DEFAULT_MAX_MESSAGE_SIZE
static boolean
DEFAULT_PER_FRAME_WEBSOCKET_COMPRESSION_SUPPORTED
static boolean
DEFAULT_PER_MESSAGE_WEBSOCKET_COMPRESSION_SUPPORTED
static int
DEFAULT_PORT
static int
DEFAULT_TIMEOUT_ON_CONNECT
static int
DEFAULT_TLS_PORT
static boolean
DEFAULT_USE_WEB_SOCKET
static int
DEFAULT_WEB_SOCKET_MAX_FRAME_SIZE
static boolean
DEFAULT_WEBSOCKET_ALLOW_SERVER_NO_CONTEXT
static int
DEFAULT_WEBSOCKET_COMPRESSION_LEVEL
static boolean
DEFAULT_WEBSOCKET_PREFERRED_CLIENT_NO_CONTEXT
static String
MQTT_SUBPROTOCOL_CSV_LIST
-
Fields inherited from class io.vertx.core.net.NetServerOptions
DEFAULT_ACCEPT_BACKLOG, DEFAULT_HOST, DEFAULT_PROXY_PROTOCOL_TIMEOUT, DEFAULT_PROXY_PROTOCOL_TIMEOUT_TIME_UNIT, DEFAULT_REGISTER_WRITE_HANDLER, DEFAULT_USE_PROXY_PROTOCOL
-
Fields inherited from class io.vertx.core.net.TCPSSLOptions
DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_WRITE_IDLE_TIMEOUT
-
Fields inherited from class io.vertx.core.net.NetworkOptions
DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS
-
-
Constructor Summary
Constructors Constructor Description MqttServerOptions()
Default constructorMqttServerOptions(JsonObject json)
Create an options from JSONMqttServerOptions(MqttServerOptions other)
Copy constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MqttServerOptions
addCrlPath(String crlPath)
MqttServerOptions
addCrlValue(Buffer crlValue)
MqttServerOptions
addEnabledCipherSuite(String suite)
MqttServerOptions
addEnabledSecureTransportProtocol(String protocol)
int
getMaxClientIdLength()
int
getMaxMessageSize()
long
getProxyProtocolTimeout()
TimeUnit
getProxyProtocolTimeoutUnit()
int
getWebSocketCompressionLevel()
int
getWebSocketMaxFrameSize()
boolean
isAutoClientId()
boolean
isPerFrameWebSocketCompressionSupported()
Get whether WebSocket the per-frame deflate compression extension is supported.boolean
isPerMessageWebSocketCompressionSupported()
Get whether WebSocket the per-frame deflate compression extension is supported.boolean
isUseProxyProtocol()
boolean
isUseWebSocket()
boolean
isWebSocketAllowServerNoContext()
boolean
isWebSocketPreferredClientNoContext()
MqttServerOptions
setAutoClientId(boolean isAutoClientId)
Set if clientid should be auto-generated when it's "zero-bytes"MqttServerOptions
setClientAuth(ClientAuth clientAuth)
MqttServerOptions
setHost(String host)
MqttServerOptions
setKeyCertOptions(KeyCertOptions options)
MqttServerOptions
setMaxClientIdLength(int maxClientIdLength)
Set the max client id length.MqttServerOptions
setMaxMessageSize(int maxMessageSize)
Set max MQTT message sizeMqttServerOptions
setPerFrameWebSocketCompressionSupported(boolean supported)
Enable or disable support for the WebSocket per-frame deflate compression extension.MqttServerOptions
setPerMessageWebSocketCompressionSupported(boolean supported)
Enable or disable support for WebSocket per-message deflate compression extension.MqttServerOptions
setPort(int port)
MqttServerOptions
setProxyProtocolTimeout(long proxyProtocolTimeout)
MqttServerOptions
setProxyProtocolTimeoutUnit(TimeUnit proxyProtocolTimeoutUnit)
MqttServerOptions
setReceiveBufferSize(int receiveBufferSize)
MqttServerOptions
setSni(boolean sni)
MqttServerOptions
setSsl(boolean ssl)
MqttServerOptions
setTimeoutOnConnect(int timeoutOnConnect)
Set the timeout on CONNECT packetMqttServerOptions
setTrustOptions(TrustOptions options)
MqttServerOptions
setUseProxyProtocol(boolean useProxyProtocol)
MqttServerOptions
setUseWebSocket(boolean useWebSocket)
enable mqtt over websocketMqttServerOptions
setWebSocketAllowServerNoContext(boolean accept)
Set whether the WebSocket server will accept theserver_no_context_takeover
parameter of the per-message deflate compression extension offered by the client.MqttServerOptions
setWebSocketCompressionLevel(int compressionLevel)
Set the WebSocket compression level.void
setWebSocketMaxFrameSize(int webSocketMaxFrameSize)
Set the WebSocket max frame size.MqttServerOptions
setWebSocketPreferredClientNoContext(boolean accept)
Set whether the WebSocket server will accept theclient_no_context_takeover
parameter of the per-message deflate compression extension offered by the client.int
timeoutOnConnect()
JsonObject
toJson()
-
Methods inherited from class io.vertx.core.net.NetServerOptions
copy, getAcceptBacklog, getClientAuth, getHost, getOrCreateSSLOptions, getPort, getSslOptions, getTrafficShapingOptions, isFileRegionEnabled, isRegisterWriteHandler, isSni, removeEnabledCipherSuite, removeEnabledSecureTransportProtocol, setAcceptBacklog, setActivityLogDataFormat, setEnabledSecureTransportProtocols, setIdleTimeout, setIdleTimeoutUnit, setLogActivity, setReadIdleTimeout, setRegisterWriteHandler, setReuseAddress, setReusePort, setSendBufferSize, setSoLinger, setSslEngineOptions, setSslHandshakeTimeout, setSslHandshakeTimeoutUnit, setTcpCork, setTcpFastOpen, setTcpKeepAlive, setTcpNoDelay, setTcpQuickAck, setTrafficClass, setTrafficShapingOptions, setUseAlpn, setWriteIdleTimeout
-
Methods inherited from class io.vertx.core.net.TCPSSLOptions
getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getKeyCertOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTcpUserTimeout, getTrustOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, setTcpUserTimeout
-
Methods inherited from class io.vertx.core.net.NetworkOptions
getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort
-
-
-
-
Field Detail
-
DEFAULT_PORT
public static final int DEFAULT_PORT
- See Also:
- Constant Field Values
-
DEFAULT_TLS_PORT
public static final int DEFAULT_TLS_PORT
- See Also:
- Constant Field Values
-
DEFAULT_MAX_MESSAGE_SIZE
public static final int DEFAULT_MAX_MESSAGE_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_AUTO_CLIENT_ID
public static final boolean DEFAULT_AUTO_CLIENT_ID
- See Also:
- Constant Field Values
-
DEFAULT_MAX_CLIENT_ID_LENGTH
public static final int DEFAULT_MAX_CLIENT_ID_LENGTH
- See Also:
- Constant Field Values
-
DEFAULT_TIMEOUT_ON_CONNECT
public static final int DEFAULT_TIMEOUT_ON_CONNECT
- See Also:
- Constant Field Values
-
DEFAULT_USE_WEB_SOCKET
public static final boolean DEFAULT_USE_WEB_SOCKET
- See Also:
- Constant Field Values
-
DEFAULT_WEB_SOCKET_MAX_FRAME_SIZE
public static final int DEFAULT_WEB_SOCKET_MAX_FRAME_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_PER_FRAME_WEBSOCKET_COMPRESSION_SUPPORTED
public static final boolean DEFAULT_PER_FRAME_WEBSOCKET_COMPRESSION_SUPPORTED
- See Also:
- Constant Field Values
-
DEFAULT_PER_MESSAGE_WEBSOCKET_COMPRESSION_SUPPORTED
public static final boolean DEFAULT_PER_MESSAGE_WEBSOCKET_COMPRESSION_SUPPORTED
- See Also:
- Constant Field Values
-
DEFAULT_WEBSOCKET_COMPRESSION_LEVEL
public static final int DEFAULT_WEBSOCKET_COMPRESSION_LEVEL
- See Also:
- Constant Field Values
-
DEFAULT_WEBSOCKET_ALLOW_SERVER_NO_CONTEXT
public static final boolean DEFAULT_WEBSOCKET_ALLOW_SERVER_NO_CONTEXT
- See Also:
- Constant Field Values
-
DEFAULT_WEBSOCKET_PREFERRED_CLIENT_NO_CONTEXT
public static final boolean DEFAULT_WEBSOCKET_PREFERRED_CLIENT_NO_CONTEXT
- See Also:
- Constant Field Values
-
MQTT_SUBPROTOCOL_CSV_LIST
public static final String MQTT_SUBPROTOCOL_CSV_LIST
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MqttServerOptions
public MqttServerOptions()
Default constructor
-
MqttServerOptions
public MqttServerOptions(JsonObject json)
Create an options from JSON- Parameters:
json
- the JSON
-
MqttServerOptions
public MqttServerOptions(MqttServerOptions other)
Copy constructor- Parameters:
other
- the options to copy
-
-
Method Detail
-
setPort
public MqttServerOptions setPort(int port)
- Overrides:
setPort
in classNetServerOptions
-
setHost
public MqttServerOptions setHost(String host)
- Overrides:
setHost
in classNetServerOptions
-
setClientAuth
public MqttServerOptions setClientAuth(ClientAuth clientAuth)
- Overrides:
setClientAuth
in classNetServerOptions
-
setSsl
public MqttServerOptions setSsl(boolean ssl)
- Overrides:
setSsl
in classNetServerOptions
-
setKeyCertOptions
public MqttServerOptions setKeyCertOptions(KeyCertOptions options)
- Overrides:
setKeyCertOptions
in classNetServerOptions
-
setTrustOptions
public MqttServerOptions setTrustOptions(TrustOptions options)
- Overrides:
setTrustOptions
in classNetServerOptions
-
addEnabledCipherSuite
public MqttServerOptions addEnabledCipherSuite(String suite)
- Overrides:
addEnabledCipherSuite
in classNetServerOptions
-
addEnabledSecureTransportProtocol
public MqttServerOptions addEnabledSecureTransportProtocol(String protocol)
- Overrides:
addEnabledSecureTransportProtocol
in classNetServerOptions
-
addCrlPath
public MqttServerOptions addCrlPath(String crlPath) throws NullPointerException
- Overrides:
addCrlPath
in classNetServerOptions
- Throws:
NullPointerException
-
addCrlValue
public MqttServerOptions addCrlValue(Buffer crlValue) throws NullPointerException
- Overrides:
addCrlValue
in classNetServerOptions
- Throws:
NullPointerException
-
setReceiveBufferSize
public MqttServerOptions setReceiveBufferSize(int receiveBufferSize)
- Overrides:
setReceiveBufferSize
in classNetServerOptions
-
setSni
public MqttServerOptions setSni(boolean sni)
- Overrides:
setSni
in classNetServerOptions
-
setMaxMessageSize
public MqttServerOptions setMaxMessageSize(int maxMessageSize)
Set max MQTT message size- Parameters:
maxMessageSize
- max MQTT message size (variable header + payload)- Returns:
- MQTT server options instance
-
getMaxMessageSize
public int getMaxMessageSize()
- Returns:
- max MQTT message size (variable header + payload)
-
setAutoClientId
public MqttServerOptions setAutoClientId(boolean isAutoClientId)
Set if clientid should be auto-generated when it's "zero-bytes"- Parameters:
isAutoClientId
-- Returns:
- MQTT server options instance
-
isAutoClientId
public boolean isAutoClientId()
- Returns:
- if clientid should be auto-generated when it's "zero-bytes" (default is true)
-
getMaxClientIdLength
public int getMaxClientIdLength()
- Returns:
- the max client id length
-
setMaxClientIdLength
public MqttServerOptions setMaxClientIdLength(int maxClientIdLength)
Set the max client id length.- Parameters:
maxClientIdLength
- the new value- Returns:
- MQTT server options instance
-
setTimeoutOnConnect
public MqttServerOptions setTimeoutOnConnect(int timeoutOnConnect)
Set the timeout on CONNECT packet- Parameters:
timeoutOnConnect
- timeout on CONNECT before closing connection- Returns:
- MQTT server options instance
-
setUseProxyProtocol
public MqttServerOptions setUseProxyProtocol(boolean useProxyProtocol)
- Overrides:
setUseProxyProtocol
in classNetServerOptions
-
isUseProxyProtocol
public boolean isUseProxyProtocol()
- Overrides:
isUseProxyProtocol
in classNetServerOptions
-
getProxyProtocolTimeout
public long getProxyProtocolTimeout()
- Overrides:
getProxyProtocolTimeout
in classNetServerOptions
-
setProxyProtocolTimeout
public MqttServerOptions setProxyProtocolTimeout(long proxyProtocolTimeout)
- Overrides:
setProxyProtocolTimeout
in classNetServerOptions
-
setProxyProtocolTimeoutUnit
public MqttServerOptions setProxyProtocolTimeoutUnit(TimeUnit proxyProtocolTimeoutUnit)
- Overrides:
setProxyProtocolTimeoutUnit
in classNetServerOptions
-
getProxyProtocolTimeoutUnit
public TimeUnit getProxyProtocolTimeoutUnit()
- Overrides:
getProxyProtocolTimeoutUnit
in classNetServerOptions
-
timeoutOnConnect
public int timeoutOnConnect()
- Returns:
- timeout on CONNECT before closing connection
-
setUseWebSocket
public MqttServerOptions setUseWebSocket(boolean useWebSocket)
enable mqtt over websocket- Parameters:
useWebSocket
- use mqtt over websocket- Returns:
- MQTT server options instance
-
isUseWebSocket
public boolean isUseWebSocket()
- Returns:
- use mqtt over websocket
-
getWebSocketMaxFrameSize
public int getWebSocketMaxFrameSize()
- Returns:
- the WebSocket max frame size
-
setWebSocketMaxFrameSize
public void setWebSocketMaxFrameSize(int webSocketMaxFrameSize)
Set the WebSocket max frame size.This should be used when WebSocket transport is used and
maxMessageSize
is larger than the WebSocket frame size- Parameters:
webSocketMaxFrameSize
- the new frame size
-
isPerFrameWebSocketCompressionSupported
public boolean isPerFrameWebSocketCompressionSupported()
Get whether WebSocket the per-frame deflate compression extension is supported.- Returns:
true
if the http server will accept the per-frame deflate compression extension
-
setPerFrameWebSocketCompressionSupported
public MqttServerOptions setPerFrameWebSocketCompressionSupported(boolean supported)
Enable or disable support for the WebSocket per-frame deflate compression extension.- Parameters:
supported
-true
when the per-frame deflate compression extension is supported- Returns:
- a reference to this, so the API can be used fluently
-
isPerMessageWebSocketCompressionSupported
public boolean isPerMessageWebSocketCompressionSupported()
Get whether WebSocket the per-frame deflate compression extension is supported.- Returns:
true
if the http server will accept the per-frame deflate compression extension
-
setPerMessageWebSocketCompressionSupported
public MqttServerOptions setPerMessageWebSocketCompressionSupported(boolean supported)
Enable or disable support for WebSocket per-message deflate compression extension.- Parameters:
supported
-true
when the per-message WebSocket compression extension is supported- Returns:
- a reference to this, so the API can be used fluently
-
getWebSocketCompressionLevel
public int getWebSocketCompressionLevel()
- Returns:
- the current WebSocket deflate compression level
-
setWebSocketCompressionLevel
public MqttServerOptions setWebSocketCompressionLevel(int compressionLevel)
Set the WebSocket compression level.- Parameters:
compressionLevel
- the compression level- Returns:
- a reference to this, so the API can be used fluently
-
isWebSocketAllowServerNoContext
public boolean isWebSocketAllowServerNoContext()
- Returns:
true
when the WebSocket server will accept theserver_no_context_takeover
parameter for the per-message deflate compression extension offered by the client
-
setWebSocketAllowServerNoContext
public MqttServerOptions setWebSocketAllowServerNoContext(boolean accept)
Set whether the WebSocket server will accept theserver_no_context_takeover
parameter of the per-message deflate compression extension offered by the client.- Parameters:
accept
-true
to accept the server_no_context_takeover parameter when the client offers it- Returns:
- a reference to this, so the API can be used fluently
-
isWebSocketPreferredClientNoContext
public boolean isWebSocketPreferredClientNoContext()
- Returns:
true
when the WebSocket server will accept theclient_no_context_takeover
parameter for the per-message deflate compression extension offered by the client
-
setWebSocketPreferredClientNoContext
public MqttServerOptions setWebSocketPreferredClientNoContext(boolean accept)
Set whether the WebSocket server will accept theclient_no_context_takeover
parameter of the per-message deflate compression extension offered by the client.- Parameters:
accept
-true
to accept theclient_no_context_takeover
parameter when the client offers it- Returns:
- a reference to this, so the API can be used fluently
-
toJson
public JsonObject toJson()
- Overrides:
toJson
in classNetServerOptions
-
-