public void onSuccess(Callback<Void> value) { PUBACK response = new PUBACK(); response.messageId(publish.messageId()); send(new Request(0, response.encode(), null)); if( value !=null ) { value.onSuccess(null); } } public void onFailure(Throwable value) {
if( processed.get(publish.messageId())!=null ) { return;
public short setPacketId(String clientId, MQTTSubscription subscription, ActiveMQMessage message, PUBLISH publish) { final PacketIdMaps idMaps = clientIdMap.get(clientId); if (idMaps == null) { // maybe its a cleansession=true client id, use session less message id final short id = messageIdGenerator.getNextSequenceId(); publish.messageId(id); return id; } else { return idMaps.setPacketId(subscription, message, publish); } }
public short setPacketId(String clientId, MQTTSubscription subscription, ActiveMQMessage message, PUBLISH publish) { final PacketIdMaps idMaps = clientIdMap.get(clientId); if (idMaps == null) { // maybe its a cleansession=true client id, use session less message id final short id = messageIdGenerator.getNextSequenceId(); publish.messageId(id); return id; } else { return idMaps.setPacketId(subscription, message, publish); } }
public short setPacketId(String clientId, MQTTSubscription subscription, ActiveMQMessage message, PUBLISH publish) { final PacketIdMaps idMaps = clientIdMap.get(clientId); if (idMaps == null) { // maybe its a cleansession=true client id, use session less message id final short id = messageIdGenerator.getNextSequenceId(); publish.messageId(id); return id; } else { return idMaps.setPacketId(subscription, message, publish); } }
public static short setPacketId(String clientId, MQTTSubscription subscription, ActiveMQMessage message, PUBLISH publish) { final PacketIdMaps idMaps = clientIdMap.get(clientId); if (idMaps == null) { // maybe its a cleansession=true client id, use session less message id final short id = messageIdGenerator.getNextSequenceId(); publish.messageId(id); return id; } else { return idMaps.setPacketId(subscription, message, publish); } }
public static short setPacketId(String clientId, MQTTSubscription subscription, ActiveMQMessage message, PUBLISH publish) { final PacketIdMaps idMaps = clientIdMap.get(clientId); if (idMaps == null) { // maybe its a cleansession=true client id, use session less message id final short id = messageIdGenerator.getNextSequenceId(); publish.messageId(id); return id; } else { return idMaps.setPacketId(subscription, message, publish); } }
@Override public void run() { // TODO: perhaps persist the processed list.. session_state.received_message_ids.add(publish.messageId()); session_state.strategy.update(new Task() { @Override public void run() { PUBREC response = new PUBREC(); response.messageId(publish.messageId()); send(response); } }); } });
@Override public void onResponse(MQTTProtocolConverter converter, Response response) throws IOException { if (response.isException()) { LOG.warn("Failed to send MQTT Publish: ", command, ((ExceptionResponse) response).getException()); } else { PUBACK ack = new PUBACK(); ack.messageId(command.messageId()); LOG.trace("MQTT Snd PUBACK message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); converter.getMQTTTransport().sendToMQTT(ack.encode()); } } };
@Override public void run() { PUBACK response = new PUBACK(); response.messageId(publish.messageId()); send(response); } });
@Override public void onResponse(MQTTProtocolConverter converter, Response response) throws IOException { if (response.isException()) { LOG.warn("Failed to send MQTT Publish: ", command, ((ExceptionResponse) response).getException()); } else { PUBACK ack = new PUBACK(); ack.messageId(command.messageId()); LOG.trace("MQTT Snd PUBACK message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); converter.getMQTTTransport().sendToMQTT(ack.encode()); } } };
public void onSuccess(Callback<Void> value) { PUBACK response = new PUBACK(); response.messageId(publish.messageId()); send(new Request(0, response.encode(), null)); if( value !=null ) { value.onSuccess(null); } } public void onFailure(Throwable value) {
void onMQTTPublish(PUBLISH command) throws IOException, JMSException { checkConnected(); LOG.trace("MQTT Rcv PUBLISH message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); ActiveMQMessage message = convertMessage(command); message.setProducerId(producerId); message.onSend(); sendToActiveMQ(message, createResponseHandler(command)); }
void onMQTTPublish(PUBLISH command) throws IOException, JMSException { checkConnected(); LOG.trace("MQTT Rcv PUBLISH message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); ActiveMQMessage message = convertMessage(command); message.setProducerId(producerId); message.onSend(); sendToActiveMQ(message, createResponseHandler(command)); }
@Override public void onReceive(MQTTFrame frame) { LOG.info("Client received:\n" + frame); if (frame.messageType() == PUBLISH.TYPE) { PUBLISH publish = new PUBLISH(); try { publish.decode(frame); LOG.info("PUBLISH " + publish); } catch (ProtocolException e) { fail("Error decoding publish " + e.getMessage()); } if (publishMap.get(publish.messageId()) != null) { assertTrue(publish.dup()); } publishMap.put(publish.messageId(), publish); } }
void onMQTTPublish(PUBLISH command) throws IOException, JMSException { checkConnected(); LOG.trace("MQTT Rcv PUBLISH message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); //Both version 3.1 and 3.1.1 do not allow the topic name to contain a wildcard in the publish packet if (containsMqttWildcard(command.topicName().toString())) { // [MQTT-3.3.2-2]: The Topic Name in the PUBLISH Packet MUST NOT contain wildcard characters getMQTTTransport().onException(IOExceptionSupport.create("The topic name must not contain wildcard characters.", null)); return; } ActiveMQMessage message = convertMessage(command); message.setProducerId(producerId); message.onSend(); sendToActiveMQ(message, createResponseHandler(command)); }
void onMQTTPublish(PUBLISH command) throws IOException, JMSException { checkConnected(); LOG.trace("MQTT Rcv PUBLISH message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); //Both version 3.1 and 3.1.1 do not allow the topic name to contain a wildcard in the publish packet if (containsMqttWildcard(command.topicName().toString())) { // [MQTT-3.3.2-2]: The Topic Name in the PUBLISH Packet MUST NOT contain wildcard characters getMQTTTransport().onException(IOExceptionSupport.create("The topic name must not contain wildcard characters.", null)); return; } ActiveMQMessage message = convertMessage(command); message.setProducerId(producerId); message.onSend(); sendToActiveMQ(message, createResponseHandler(command)); }
void onMQTTPublish(PUBLISH command) throws IOException, JMSException { checkConnected(); LOG.trace("MQTT Rcv PUBLISH message:{} client:{} connection:{}", command.messageId(), clientId, connectionInfo.getConnectionId()); //Both version 3.1 and 3.1.1 do not allow the topic name to contain a wildcard in the publish packet if (containsMqttWildcard(command.topicName().toString())) { // [MQTT-3.3.2-2]: The Topic Name in the PUBLISH Packet MUST NOT contain wildcard characters getMQTTTransport().onException(IOExceptionSupport.create("The topic name must not contain wildcard characters.", null)); return; } ActiveMQMessage message = convertMessage(command); message.setProducerId(producerId); message.onSend(); sendToActiveMQ(message, createResponseHandler(command)); }