Interface ModifiablePubackPacket
-
- All Superinterfaces:
PubackPacket
@DoNotImplement public interface ModifiablePubackPacket extends PubackPacket
APubackPacket
that can be modified before it is sent to the client (forPubackOutboundInterceptor
) or to the server (forPubackInboundInterceptor
).- Since:
- 4.3.0, CE 2020.1
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull ModifiableUserProperties
getUserProperties()
Get the modifiableUserProperties
of the PUBACK packet.void
setReasonCode(@NotNull AckReasonCode reasonCode)
Set aAckReasonCode
to the PUBACK packet.void
setReasonString(@Nullable String reasonString)
Set the reason string.-
Methods inherited from interface com.hivemq.extension.sdk.api.packets.puback.PubackPacket
getPacketIdentifier, getReasonCode, getReasonString
-
-
-
-
Method Detail
-
setReasonCode
void setReasonCode(@NotNull AckReasonCode reasonCode)
Set aAckReasonCode
to the PUBACK packet.Switching from successful to unsuccessful and vice versa is not supported, in that case an
IllegalStateException
is thrown.- Parameters:
reasonCode
- The reason code to set.- Throws:
NullPointerException
- If reason code isnull
.IllegalStateException
- If switching from successful reason code to unsuccessful reason code or vice versa.- Since:
- 4.3.0, CE 2020.1
- See Also:
How reason codes are translated from MQTT 5 to MQTT 3.
-
setReasonString
void setReasonString(@Nullable String reasonString)
Set the reason string.A reason must not be set for a successful publish.
For an
PubackOutboundInterceptor
this setting is only respected for MQTT 5 clients and ignored for MQTT 3.x clients when the PUBACK is sent to the client (as MQTT 3.x clients don't know this property).For an
PubackInboundInterceptor
this setting is respected for MQTT 5 and MQTT 3.x clients when the PUBACK is sent to HiveMQ, this allows to enrich MQTT 3.x PUBACKs with this MQTT 5 property.- Parameters:
reasonString
- The reason string to set.- 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
-
getUserProperties
@NotNull ModifiableUserProperties getUserProperties()
Get the modifiableUserProperties
of the PUBACK packet.For an
PubackOutboundInterceptor
this setting is only respected for MQTT 5 clients and ignored for MQTT 3.x clients when the PUBACK is sent to the client (as MQTT 3.x clients don't know this property).For an
PubackInboundInterceptor
this setting is respected for MQTT 5 and MQTT 3.x clients when the PUBACK is sent to HiveMQ, this allows to enrich MQTT 3.x PUBACKs with this MQTT 5 property.- Specified by:
getUserProperties
in interfacePubackPacket
- Returns:
- Modifiable user properties.
- Since:
- 4.3.0, CE 2020.1
-
-