endpoint.subscribeHandler(subscribe -> {
/** * Set a subscribe handler on the MQTT endpoint. This handler is called when a SUBSCRIBE * message is received by the remote MQTT client * @param handler the handler * @return a reference to this, so the API can be used fluently */ public MqttEndpoint subscribeHandler(Handler<MqttSubscribeMessage> handler) { delegate.subscribeHandler(new Handler<io.vertx.mqtt.messages.MqttSubscribeMessage>() { public void handle(io.vertx.mqtt.messages.MqttSubscribeMessage event) { handler.handle(MqttSubscribeMessage.newInstance(event)); } }); return this; }
/** * Set a subscribe handler on the MQTT endpoint. This handler is called when a SUBSCRIBE * message is received by the remote MQTT client * @param handler the handler * @return a reference to this, so the API can be used fluently */ public io.vertx.rxjava.mqtt.MqttEndpoint subscribeHandler(Handler<io.vertx.rxjava.mqtt.messages.MqttSubscribeMessage> handler) { delegate.subscribeHandler(new Handler<io.vertx.mqtt.messages.MqttSubscribeMessage>() { public void handle(io.vertx.mqtt.messages.MqttSubscribeMessage event) { handler.handle(io.vertx.rxjava.mqtt.messages.MqttSubscribeMessage.newInstance(event)); } }); return this; }
/** * Set a subscribe handler on the MQTT endpoint. This handler is called when a SUBSCRIBE * message is received by the remote MQTT client * @param handler the handler * @return a reference to this, so the API can be used fluently */ public io.vertx.rxjava.mqtt.MqttEndpoint subscribeHandler(Handler<io.vertx.rxjava.mqtt.messages.MqttSubscribeMessage> handler) { delegate.subscribeHandler(new Handler<io.vertx.mqtt.messages.MqttSubscribeMessage>() { public void handle(io.vertx.mqtt.messages.MqttSubscribeMessage event) { handler.handle(io.vertx.rxjava.mqtt.messages.MqttSubscribeMessage.newInstance(event)); } }); return this; }
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.subscribeHandler(subscribe -> { List<MqttQoS> qos = new ArrayList<>(); MqttQoS grantedQos = subscribe.topicSubscriptions().get(0).topicName().equals(MQTT_TOPIC_FAILURE) ? MqttQoS.FAILURE : subscribe.topicSubscriptions().get(0).qualityOfService(); qos.add(grantedQos); endpoint.subscribeAcknowledge(subscribe.messageId(), qos); this.async.complete(); }); endpoint.accept(false); } }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.subscribeHandler(subscribe -> { List<MqttQoS> qos = new ArrayList<>(); MqttQoS grantedQos = subscribe.topicSubscriptions().get(0).topicName().equals(MQTT_TOPIC_FAILURE) ? MqttQoS.FAILURE : subscribe.topicSubscriptions().get(0).qualityOfService(); qos.add(grantedQos); endpoint.subscribeAcknowledge(subscribe.messageId(), qos); this.async.complete(); }); 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); }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.subscribeHandler(subscribe -> { List<MqttQoS> qos = new ArrayList<>(); qos.add(subscribe.topicSubscriptions().get(0).qualityOfService()); endpoint.subscribeAcknowledge(subscribe.messageId(), qos); this.subscribeAsync.complete(); }).unsubscribeHandler(unsubscribe -> { endpoint.unsubscribeAcknowledge(unsubscribe.messageId()); this.unsubscribeAsync.complete(); }); endpoint.accept(false); } }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.subscribeHandler(subscribe -> { List<MqttQoS> qos = new ArrayList<>(); qos.add(subscribe.topicSubscriptions().get(0).qualityOfService()); endpoint.subscribeAcknowledge(subscribe.messageId(), qos); this.subscribeAsync.complete(); }).unsubscribeHandler(unsubscribe -> { endpoint.unsubscribeAcknowledge(unsubscribe.messageId()); this.unsubscribeAsync.complete(); }); endpoint.accept(false); } }
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); }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.subscribeHandler(subscribe -> {
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.subscribeHandler(subscribe -> {