Interface ModifiablePubcompPacket

All Superinterfaces:
PubcompPacket

@DoNotImplement
public interface ModifiablePubcompPacket
extends PubcompPacket
A PubcompPacket that can be modified before it is sent to the client (for PubcompOutboundInterceptor) or to the server (for PubcompInboundInterceptor).
Since:
4.3.0, CE 2020.1
  • Method Details

    • setReasonString

      void setReasonString​(@Nullable String reasonString)
      Set the reason string.

      A reason must not be set for a successful publish.

      For an PubcompOutboundInterceptor this setting is only respected for MQTT 5 clients and ignored for MQTT 3.x clients when the PUBCOMP is sent to the client (as MQTT 3.x clients don't know this property).

      For an PubcompInboundInterceptor this setting is respected for MQTT 5 and MQTT 3.x clients when the PUBCOMP is sent to HiveMQ, this allows to enrich MQTT 3.x PUBCOMPs 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

      Get the modifiable UserProperties of the PUBCOMP packet.

      For an PubcompOutboundInterceptor this setting is only respected for MQTT 5 clients and ignored for MQTT 3.x clients when the PUBCOMP is sent to the client (as MQTT 3.x clients don't know this property).

      For an PubcompInboundInterceptor this setting is respected for MQTT 5 and MQTT 3.x clients when the PUBCOMP is sent to HiveMQ, this allows to enrich MQTT 3.x PUBCOMPs with this MQTT 5 property.

      Specified by:
      getUserProperties in interface PubcompPacket
      Returns:
      Modifiable user properties.
      Since:
      4.3.0, CE 2020.1