@Override public void onSuccess(IMqttToken token) { if (token.getUserContext() instanceof MqttActionCallback) { MqttActionCallback subscriber = (MqttActionCallback) token.getUserContext(); subscriber.onSuccess(token.getTopics()[0]); } else if (token.getUserContext() instanceof CompletableFuture) { @SuppressWarnings("unchecked") CompletableFuture<Boolean> future = (CompletableFuture<Boolean>) token.getUserContext(); future.complete(true); } }
@Override public void onFailure(IMqttToken token, Throwable throwable) { if (token.getUserContext() instanceof MqttActionCallback) { MqttActionCallback subscriber = (MqttActionCallback) token.getUserContext(); subscriber.onFailure(token.getTopics()[0], throwable); } else if (token.getUserContext() instanceof CompletableFuture) { @SuppressWarnings("unchecked") CompletableFuture<Boolean> future = (CompletableFuture<Boolean>) token.getUserContext(); future.completeExceptionally(throwable); } } }