endpoint.closeHandler(v -> {
/** * Set a close handler. This will be called when the MQTT endpoint is closed * @param handler the handler * @return a reference to this, so the API can be used fluently */ public MqttEndpoint closeHandler(Handler<Void> handler) { delegate.closeHandler(handler); return this; }
/** * Set a close handler. This will be called when the MQTT endpoint is closed * @param handler the handler * @return a reference to this, so the API can be used fluently */ public io.vertx.rxjava.mqtt.MqttEndpoint closeHandler(Handler<Void> handler) { delegate.closeHandler(handler); return this; }
/** * Set a close handler. This will be called when the MQTT endpoint is closed * @param handler the handler * @return a reference to this, so the API can be used fluently */ public io.vertx.rxjava.mqtt.MqttEndpoint closeHandler(Handler<Void> handler) { delegate.closeHandler(handler); return this; }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.closeHandler(v -> { log.info("MQTT remote client connection closed"); }); endpoint.accept(false); } }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.closeHandler(v -> { log.info("MQTT remote client connection closed"); }); endpoint.accept(false); } }
private Future<Device> registerHandlers(final MqttEndpoint endpoint, final Device authenticatedDevice) { endpoint.closeHandler(v -> close(endpoint, authenticatedDevice)); endpoint.publishHandler( message -> handlePublishedMessage(new MqttContext(message, endpoint, authenticatedDevice))); endpoint.subscribeHandler(subscribeMsg -> onSubscribe(endpoint, authenticatedDevice, subscribeMsg)); endpoint.unsubscribeHandler(unsubscribeMsg -> onUnsubscribe(endpoint, authenticatedDevice, unsubscribeMsg)); metrics.incrementConnections(authenticatedDevice.getTenantId()); return Future.succeededFuture(authenticatedDevice); }
/** * Invoked when a client sends its <em>CONNECT</em> packet and client authentication has been disabled by setting * the {@linkplain ProtocolAdapterProperties#isAuthenticationRequired() authentication required} configuration * property to {@code false}. * <p> * Registers a close handler on the endpoint which invokes {@link #close(MqttEndpoint, Device)}. Registers a publish * handler on the endpoint which invokes {@link #onPublishedMessage(MqttContext)} for each message being published * by the client. Accepts the connection request. * * @param endpoint The MQTT endpoint representing the client. */ private Future<Device> handleEndpointConnectionWithoutAuthentication(final MqttEndpoint endpoint) { endpoint.closeHandler(v -> close(endpoint, null)); endpoint.publishHandler(message -> handlePublishedMessage(new MqttContext(message, endpoint))); endpoint.subscribeHandler(subscribeMsg -> onSubscribe(endpoint, null, subscribeMsg)); endpoint.unsubscribeHandler(unsubscribeMsg -> onUnsubscribe(endpoint, null, unsubscribeMsg)); LOG.debug("unauthenticated device [clientId: {}] connected", endpoint.clientIdentifier()); metrics.incrementUnauthenticatedConnections(); return Future.succeededFuture(); }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.disconnectHandler(v -> { log.info("MQTT remote client disconnected"); }); endpoint.closeHandler(v -> { log.info("MQTT remote client connection closed"); }); endpoint.accept(false); } }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.disconnectHandler(v -> { log.info("MQTT remote client disconnected"); }); endpoint.closeHandler(v -> { log.info("MQTT remote client connection closed"); }); endpoint.accept(false); } }
/** * Setup handlers for MQTT endpoint */ private void setupMqttEndpoint() { this.mqttEndpoint .publishHandler(this::publishHandler) .publishAcknowledgeHandler(this::pubackHandler) .publishReleaseHandler(this::pubrelHandler) .publishReceivedHandler(this::pubrecHandler) .publishCompletionHandler(this::pubcompHandler) .subscribeHandler(this::subscribeHandler) .unsubscribeHandler(this::unsubscribeHandler) .disconnectHandler(this::disconnectHandler) .closeHandler(this::closeHandler); }
private Future<Device> registerHandlers(final MqttEndpoint endpoint, final Device authenticatedDevice) { final CommandHandler<T> cmdHandler = new CommandHandler<>(vertx, getConfig()); endpoint.closeHandler(v -> close(endpoint, authenticatedDevice, cmdHandler)); endpoint.publishHandler( message -> handlePublishedMessage(MqttContext.fromPublishPacket(message, endpoint, authenticatedDevice))); endpoint.publishAcknowledgeHandler(msgId -> cmdHandler.handlePubAck(msgId, afterCommandPubAckedConsumer)); endpoint.subscribeHandler(subscribeMsg -> onSubscribe(endpoint, authenticatedDevice, subscribeMsg, cmdHandler)); endpoint.unsubscribeHandler(unsubscribeMsg -> onUnsubscribe(endpoint, authenticatedDevice, unsubscribeMsg, cmdHandler)); if (authenticatedDevice == null) { metrics.incrementUnauthenticatedConnections(); } else { metrics.incrementConnections(authenticatedDevice.getTenantId()); } return Future.succeededFuture(authenticatedDevice); }