Interface ModifiableInboundDisconnectPacket
-
- All Superinterfaces:
DisconnectPacket
@DoNotImplement public interface ModifiableInboundDisconnectPacket extends DisconnectPacket
An inboundDisconnectPacket
that can be modified before it is sent to the server.- Since:
- 4.3.0, CE 2020.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull ModifiableUserProperties
getUserProperties()
The modifiableUserProperties
of the DISCONNECT packet.void
setReasonCode(@NotNull DisconnectReasonCode reasonCode)
Set theDisconnectReasonCode
of the DISCONNECT packet.void
setReasonString(@Nullable String reasonString)
Set the reason string of the DISCONNECT packet.void
setSessionExpiryInterval(@Nullable Long sessionExpiryInterval)
Sets the session expiry interval of the DISCONNECT packet.-
Methods inherited from interface com.hivemq.extension.sdk.api.packets.disconnect.DisconnectPacket
getReasonCode, getReasonString, getServerReference, getSessionExpiryInterval
-
-
-
-
Method Detail
-
setReasonCode
void setReasonCode(@NotNull DisconnectReasonCode reasonCode)
Set theDisconnectReasonCode
of the DISCONNECT packet.- Parameters:
reasonCode
- The reason code to set.- Throws:
NullPointerException
- If reason code isnull
.IllegalArgumentException
- If the disconnect reason code must not be used for inbound disconnect packets from a client to the server.- Since:
- 4.3.0, CE 2020.1
- See Also:
What reason codes exist for inbound disconnect packets from a client to the server.
-
setReasonString
void setReasonString(@Nullable String reasonString)
Set the reason string of the DISCONNECT packet.This setting is only respected for MQTT 5 clients. For MQTT 3.x clients this setting is ignored.
- Parameters:
reasonString
- The reason string to set ornull
to remove the reason string.- Throws:
IllegalArgumentException
- If the reason string is not a valid UTF-8 string.IllegalArgumentException
- If the reason string exceeds the UTF-8 string length limit.- Since:
- 4.3.0, CE 2020.1
-
setSessionExpiryInterval
void setSessionExpiryInterval(@Nullable Long sessionExpiryInterval)
Sets the session expiry interval of the DISCONNECT packet.- Parameters:
sessionExpiryInterval
- The session expiry interval to set ornull
to use the session expiry interval of the CONNECT/CONNACK handshake.- Throws:
IllegalStateException
- If the session expiry interval is modified if the session expiry interval of the CONNECT packet was 0.IllegalArgumentException
- If the session expiry interval is less than 0.IllegalArgumentException
- If the session expiry interval is greater than the configured maximum.- Since:
- 4.3.0, CE 2020.1
-
getUserProperties
@NotNull ModifiableUserProperties getUserProperties()
The modifiableUserProperties
of the DISCONNECT packet.- Specified by:
getUserProperties
in interfaceDisconnectPacket
- Returns:
- The modifiable user properties.
- Since:
- 4.3.0, CE 2020.1
-
-