Interface ModifiableConnectPacket

    • Method Detail

      • setClientId

        void setClientId​(@NotNull String clientId)
        Set the client ID.

        In case the client ID is changed, future interceptors may be called by a different thread for the same client. Extensions need to ensure thread-safety for shared objects in this case. Interceptors are still called in the same order for the client.

        The client ID provided by the ClientInformation in the ConnectInboundInput is not updated until all ConnectInboundInterceptor for this CONNECT are finished.

        Parameters:
        clientId - The new client ID of the CONNECT.
        Throws:
        IllegalArgumentException - If the client ID is not a valid UTF-8 string.
        IllegalArgumentException - If the client ID exceeds the maximum client ID length.
        IllegalArgumentException - If the client ID is empty.
        Since:
        4.2.0, CE 2020.1
      • setCleanStart

        void setCleanStart​(boolean cleanStart)
        Set the clean start flag.

        For an MQTT 3 client clean start has the same value as clean session by default. However this MQTT 5 property can be used in the same way as for MQTT 5 client via this method.

        Parameters:
        cleanStart - The new clean start flag of the CONNECT.
        Since:
        4.2.0, CE 2020.1
      • setSessionExpiryInterval

        void setSessionExpiryInterval​(long expiryInterval)
        Set the expiry interval.

        For an MQTT 3 client the expiry will be 0 by default if clean session is false. This method may be used to set a custom session expiry for MQTT 3 clients.

        Parameters:
        expiryInterval - The new expiry interval for the CONNECT.
        Throws:
        IllegalArgumentException - If the expiry interval is more than the configured maximum.
        Since:
        4.2.0, CE 2020.1
      • setKeepAlive

        void setKeepAlive​(int keepAlive)
        Set the keep alive.
        Parameters:
        keepAlive - The new keep alive for the CONNECT.
        Throws:
        IllegalArgumentException - If the keep alive is more than the configured maximum.
        Since:
        4.2.0, CE 2020.1
      • setReceiveMaximum

        void setReceiveMaximum​(int receiveMaximum)
        Set the receive maximum.
        Parameters:
        receiveMaximum - The new receive maximum for the CONNECT.
        Throws:
        IllegalArgumentException - If the receive maximum is less than one or more than '65535'.
        Since:
        4.2.0, CE 2020.1
      • setMaximumPacketSize

        void setMaximumPacketSize​(int maximumPacketSize)
        Set the maximum packet size.
        Parameters:
        maximumPacketSize - The new maximum packet size for the CONNECT.
        Throws:
        IllegalArgumentException - If the maximum packet size is less than one or more than the configured maximum.
        Since:
        4.2.0, CE 2020.1
      • setTopicAliasMaximum

        void setTopicAliasMaximum​(int topicAliasMaximum)
        Set the topic alias maximum. This setting is only respected for MQTT 5 clients. For MQTT 3.x clients this setting is ignored.
        Parameters:
        topicAliasMaximum - The new topic alias maximum for the CONNECT.
        Throws:
        IllegalArgumentException - If the topic alias maximum is more than '65535'.
        Since:
        4.2.0, CE 2020.1
      • setRequestResponseInformation

        void setRequestResponseInformation​(boolean requestResponseInformation)
        Set the request response information. This setting is only respected for MQTT 5 clients. For MQTT 3.x clients this setting is ignored.
        Parameters:
        requestResponseInformation - The new request response information flag for the CONNECT.
        Since:
        4.2.0, CE 2020.1
      • setRequestProblemInformation

        void setRequestProblemInformation​(boolean requestProblemInformation)
        Set the request problem information. This setting is only respected for MQTT 5 clients. For MQTT 3.x clients this setting is ignored.
        Parameters:
        requestProblemInformation - The new request problem information flag for the CONNECT.
        Since:
        4.2.0, CE 2020.1
      • setAuthenticationMethod

        void setAuthenticationMethod​(@Nullable String authenticationMethod)
        Set the authentication method.
        Parameters:
        authenticationMethod - The new authentication method of the CONNECT.
        Throws:
        IllegalArgumentException - If the authentication method is not a valid UTF-8 string.
        Since:
        4.2.0, CE 2020.1
      • setAuthenticationData

        void setAuthenticationData​(@Nullable ByteBuffer authenticationData)
        Set the authentication data.
        Parameters:
        authenticationData - The new authentication data of the CONNECT.
        Since:
        4.2.0, CE 2020.1
      • setUserName

        void setUserName​(@Nullable String userName)
        Set the username.
        Parameters:
        userName - The new username for the CONNECT.
        Since:
        4.2.0, CE 2020.1
      • setPassword

        void setPassword​(@Nullable ByteBuffer password)
        Set the password.
        Parameters:
        password - The new password for the CONNECT.
        Since:
        4.2.0, CE 2020.1