Interface ModifiablePubrecPacket
-
- All Superinterfaces:
PubrecPacket
@DoNotImplement public interface ModifiablePubrecPacket extends PubrecPacket
APubrecPacketthat 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 ModifiableUserPropertiesgetUserProperties()Get the modifiableUserPropertiesof the PUBREC packet.voidsetReasonCode(@NotNull AckReasonCode reasonCode)Set anAckReasonCodeto the PUBREC packet.voidsetReasonString(@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 anAckReasonCodeto 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
PubrecOutboundInterceptorthis 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
PubrecInboundInterceptorthis 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 modifiableUserPropertiesof the PUBREC packet.For an
PubrecOutboundInterceptorthis 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
PubrecInboundInterceptorthis 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:
getUserPropertiesin interfacePubrecPacket- Returns:
- Modifiable user properties.
- Since:
- 4.3.0, CE 2020.1
-
-