Interface ModifiablePubrecPacket
-
- All Superinterfaces:
PubrecPacket
@DoNotImplement public interface ModifiablePubrecPacket extends PubrecPacket
APubrecPacket
that can be modified before it is sent to the client (forPubrecOutboundInterceptor
) or to the server (forPubrecInboundInterceptor
).- 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 PUBREC packet.void
setReasonCode(@NotNull AckReasonCode reasonCode)
Set anAckReasonCode
to the PUBREC packet.void
setReasonString(@Nullable String reasonString)
Set the reason string.-
Methods inherited from interface com.hivemq.extension.sdk.api.packets.pubrec.PubrecPacket
getPacketIdentifier, getReasonCode, getReasonString
-
-
-
-
Method Detail
-
setReasonCode
void setReasonCode(@NotNull AckReasonCode reasonCode)
Set anAckReasonCode
to the PUBREC packet.Switching from successful to unsuccessful and vice versa is not supported.
- 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
PubrecOutboundInterceptor
this setting is only respected for MQTT 5 clients and ignored for MQTT 3.x clients when the PUBREC is sent to the client (as MQTT 3.x clients don't know this property).For an
PubrecInboundInterceptor
this setting is respected for MQTT 5 and MQTT 3.x clients when the PUBREC is sent to HiveMQ, this allows to enrich MQTT 3.x PUBRECs 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 PUBREC packet.For an
PubrecOutboundInterceptor
this setting is only respected for MQTT 5 clients and ignored for MQTT 3.x clients when the PUBREC is sent to the client (as MQTT 3.x clients don't know this property).For an
PubrecInboundInterceptor
this setting is respected for MQTT 5 and MQTT 3.x clients when the PUBREC is sent to HiveMQ, this allows to enrich MQTT 3.x PUBRECs with this MQTT 5 property.- Specified by:
getUserProperties
in interfacePubrecPacket
- Returns:
- Modifiable user properties.
- Since:
- 4.3.0, CE 2020.1
-
-