public void onSuccess()

in aws-iot-device-sdk-java/src/main/java/com/amazonaws/services/iot/client/mqtt/AwsIotMqttMessageListener.java [44:74]


    public void onSuccess(IMqttToken token) {
        final AWSIotMessage message = (AWSIotMessage) token.getUserContext();
        if (message == null) {
            return;
        }

        boolean forceFailure = false;
        if (token.getResponse() instanceof MqttSuback) {
            MqttSuback subAck = (MqttSuback) token.getResponse();
            int qos[] = subAck.getGrantedQos();
            for (int i = 0; i < qos.length; i++) {
                if (qos[i] == SUB_ACK_RETURN_CODE_FAILURE) {
                    LOGGER.warning("Request failed: likely due to too many subscriptions or policy violations");
                    forceFailure = true;
                    break;
                }
            }
        }

        final boolean isSuccess = !forceFailure;
        client.scheduleTask(new Runnable() {
            @Override
            public void run() {
                if (isSuccess) {
                    message.onSuccess();
                } else {
                    message.onFailure();
                }
            }
        });
    }