/** * @return Message identifier */ public int messageId() { if (cached_0 != null) { return cached_0; } int ret = delegate.messageId(); cached_0 = ret; return ret; }
/** * @return Message identifier */ public int messageId() { if (cached_0 != null) { return cached_0; } int ret = delegate.messageId(); cached_0 = ret; return ret; }
/** * @return Message identifier */ public int messageId() { if (cached_0 != null) { return cached_0; } int ret = delegate.messageId(); cached_0 = ret; return ret; }
/** * Sends a PUBACK for the message to the device. */ public void acknowledge() { if (message != null && deviceEndpoint != null) { deviceEndpoint.publishAcknowledge(message.messageId()); } } }
/** * Used for calling the publish handler when the remote MQTT client publishes a message * * @param msg published message */ void handlePublish(io.vertx.mqtt.messages.MqttPublishMessage msg) { synchronized (this.conn) { if (this.publishHandler != null) { this.publishHandler.handle(msg); } if (this.isPublishAutoAck) { switch (msg.qosLevel()) { case AT_LEAST_ONCE: this.publishAcknowledge(msg.messageId()); break; case EXACTLY_ONCE: this.publishReceived(msg.messageId()); break; } } } }
/** * Used for calling the publish handler when the remote MQTT client publishes a message * * @param msg published message */ void handlePublish(io.vertx.mqtt.messages.MqttPublishMessage msg) { synchronized (this.conn) { if (this.publishHandler != null) { this.publishHandler.handle(msg); } if (this.isPublishAutoAck) { switch (msg.qosLevel()) { case AT_LEAST_ONCE: this.publishAcknowledge(msg.messageId()); break; case EXACTLY_ONCE: this.publishReceived(msg.messageId()); break; } } } }
/** * Used for calling the publish handler when the remote MQTT client publishes a message * * @param msg published message */ void handlePublish(io.vertx.mqtt.messages.MqttPublishMessage msg) { synchronized (this.conn) { if (this.publishHandler != null) { this.publishHandler.handle(msg); } if (this.isPublishAutoAck) { switch (msg.qosLevel()) { case AT_LEAST_ONCE: this.publishAcknowledge(msg.messageId()); break; case EXACTLY_ONCE: this.publishReceived(msg.messageId()); break; } } } }
/** * Sends PUBREC packet to server * * @param publishMessage a PUBLISH message to acknowledge */ private void publishReceived(MqttPublishMessage publishMessage) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREC, false, AT_MOST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(publishMessage.messageId()); io.netty.handler.codec.mqtt.MqttMessage pubrec = MqttMessageFactory.newMessage(fixedHeader, variableHeader, null); synchronized (this) { qos2inbound.put(publishMessage.messageId(), publishMessage); } this.write(pubrec); }
/** * Sends PUBREC packet to server * * @param publishMessage a PUBLISH message to acknowledge */ private void publishReceived(MqttPublishMessage publishMessage) { MqttFixedHeader fixedHeader = new MqttFixedHeader(MqttMessageType.PUBREC, false, AT_MOST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(publishMessage.messageId()); io.netty.handler.codec.mqtt.MqttMessage pubrec = MqttMessageFactory.newMessage(fixedHeader, variableHeader, null); synchronized (this) { qos2inbound.put(publishMessage.messageId(), publishMessage); } this.write(pubrec); }
/** * Used for calling the publish handler when the server publishes a message * * @param msg published message */ private void handlePublish(MqttPublishMessage msg) { Handler<MqttPublishMessage> handler; switch (msg.qosLevel()) { case AT_MOST_ONCE: handler = this.publishHandler(); if (handler != null) { handler.handle(msg); } break; case AT_LEAST_ONCE: this.publishAcknowledge(msg.messageId()); handler = this.publishHandler(); if (handler != null) { handler.handle(msg); } break; case EXACTLY_ONCE: this.publishReceived(msg); // we will handle the PUBLISH when a PUBREL comes break; } }
/** * Used for calling the publish handler when the server publishes a message * * @param msg published message */ private void handlePublish(MqttPublishMessage msg) { Handler<MqttPublishMessage> handler; switch (msg.qosLevel()) { case AT_MOST_ONCE: handler = this.publishHandler(); if (handler != null) { handler.handle(msg); } break; case AT_LEAST_ONCE: this.publishAcknowledge(msg.messageId()); handler = this.publishHandler(); if (handler != null) { handler.handle(msg); } break; case EXACTLY_ONCE: this.publishReceived(msg); // we will handle the PUBLISH when a PUBREL comes break; } }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.publishHandler(message -> { log.info("Just received message on [" + message.topicName() + "] payload [" + message.payload().toString(Charset.defaultCharset()) + "] with QoS [" + message.qosLevel() + "]"); switch (message.qosLevel()) { case AT_LEAST_ONCE: endpoint.publishAcknowledge(message.messageId()); this.async.complete(); break; case EXACTLY_ONCE: endpoint.publishReceived(message.messageId()); break; case AT_MOST_ONCE: this.async.complete(); break; } }).publishReleaseHandler(messageId -> { endpoint.publishComplete(messageId); this.async.complete(); }); endpoint.accept(false); }
@Override protected void endpointHandler(MqttEndpoint endpoint, TestContext context) { endpoint.publishHandler(message -> { log.info("Just received message on [" + message.topicName() + "] payload [" + message.payload().toString(Charset.defaultCharset()) + "] with QoS [" + message.qosLevel() + "]"); switch (message.qosLevel()) { case AT_LEAST_ONCE: endpoint.publishAcknowledge(message.messageId()); this.async.complete(); break; case EXACTLY_ONCE: endpoint.publishReceived(message.messageId()); break; case AT_MOST_ONCE: this.async.complete(); break; } }).publishReleaseHandler(messageId -> { endpoint.publishComplete(messageId); this.async.complete(); }); endpoint.accept(false); }