private static Result<MqttUnsubscribePayload> decodeUnsubscribePayload( ByteBuf buffer, int bytesRemainingInVariablePart) { final List<String> unsubscribeTopics = new ArrayList<String>(); int numberOfBytesConsumed = 0; while (numberOfBytesConsumed < bytesRemainingInVariablePart) { final Result<String> decodedTopicName = decodeString(buffer); numberOfBytesConsumed += decodedTopicName.numberOfBytesConsumed; unsubscribeTopics.add(decodedTopicName.value); } return new Result<MqttUnsubscribePayload>( new MqttUnsubscribePayload(unsubscribeTopics), numberOfBytesConsumed); }
public MqttUnsubscribeMessage build() { MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.UNSUBSCRIBE, false, MqttQoS.AT_LEAST_ONCE, false, 0); MqttMessageIdVariableHeader mqttVariableHeader = MqttMessageIdVariableHeader.from(messageId); MqttUnsubscribePayload mqttSubscribePayload = new MqttUnsubscribePayload(topicFilters); return new MqttUnsubscribeMessage(mqttFixedHeader, mqttVariableHeader, mqttSubscribePayload); } }
private static Result<MqttUnsubscribePayload> decodeUnsubscribePayload( ByteBuf buffer, int bytesRemainingInVariablePart) { final List<String> unsubscribeTopics = new ArrayList<>(); int numberOfBytesConsumed = 0; while (numberOfBytesConsumed < bytesRemainingInVariablePart) { final Result<String> decodedTopic = decodeString(buffer); numberOfBytesConsumed += decodedTopic.numberOfBytesConsumed; unsubscribeTopics.add(decodedTopic.value); } return new Result<>( new MqttUnsubscribePayload(unsubscribeTopics), numberOfBytesConsumed); }
private static Result<MqttUnsubscribePayload> decodeUnsubscribePayload( ByteBuf buffer, int bytesRemainingInVariablePart) { final List<String> unsubscribeTopics = new ArrayList<String>(); int numberOfBytesConsumed = 0; while (numberOfBytesConsumed < bytesRemainingInVariablePart) { final Result<String> decodedTopicName = decodeString(buffer); numberOfBytesConsumed += decodedTopicName.numberOfBytesConsumed; unsubscribeTopics.add(decodedTopicName.value); } return new Result<MqttUnsubscribePayload>( new MqttUnsubscribePayload(unsubscribeTopics), numberOfBytesConsumed); }
protected void unSubMessage(Channel channel,List<String> topic,int messageId){ MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.UNSUBSCRIBE,false, MqttQoS.AT_LEAST_ONCE,false,0x02); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(messageId); MqttUnsubscribePayload MqttUnsubscribeMessage = new MqttUnsubscribePayload(topic); MqttUnsubscribeMessage mqttUnsubscribeMessage = new MqttUnsubscribeMessage(mqttFixedHeader,variableHeader,MqttUnsubscribeMessage); channel.writeAndFlush(mqttUnsubscribeMessage); }
public MqttUnsubscribeMessage build() { MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.UNSUBSCRIBE, false, MqttQoS.AT_LEAST_ONCE, false, 0); MqttMessageIdVariableHeader mqttVariableHeader = MqttMessageIdVariableHeader.from(messageId); MqttUnsubscribePayload mqttSubscribePayload = new MqttUnsubscribePayload(topicFilters); return new MqttUnsubscribeMessage(mqttFixedHeader, mqttVariableHeader, mqttSubscribePayload); } }
/** * See {@link MqttClient#unsubscribe(String, Handler)} )} for more details */ @Override public MqttClient unsubscribe(String topic, Handler<AsyncResult<Integer>> unsubscribeSentHandler) { MqttFixedHeader fixedHeader = new MqttFixedHeader( MqttMessageType.UNSUBSCRIBE, false, AT_LEAST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(nextMessageId()); MqttUnsubscribePayload payload = new MqttUnsubscribePayload(Stream.of(topic).collect(Collectors.toList())); io.netty.handler.codec.mqtt.MqttMessage unsubscribe = MqttMessageFactory.newMessage(fixedHeader, variableHeader, payload); this.write(unsubscribe); if (unsubscribeSentHandler != null) { unsubscribeSentHandler.handle(Future.succeededFuture(variableHeader.messageId())); } return this; }
/** * See {@link MqttClient#unsubscribe(String, Handler)} )} for more details */ @Override public MqttClient unsubscribe(String topic, Handler<AsyncResult<Integer>> unsubscribeSentHandler) { MqttFixedHeader fixedHeader = new MqttFixedHeader( MqttMessageType.UNSUBSCRIBE, false, AT_LEAST_ONCE, false, 0); MqttMessageIdVariableHeader variableHeader = MqttMessageIdVariableHeader.from(nextMessageId()); MqttUnsubscribePayload payload = new MqttUnsubscribePayload(Stream.of(topic).collect(Collectors.toList())); io.netty.handler.codec.mqtt.MqttMessage unsubscribe = MqttMessageFactory.newMessage(fixedHeader, variableHeader, payload); this.write(unsubscribe); if (unsubscribeSentHandler != null) { unsubscribeSentHandler.handle(Future.succeededFuture(variableHeader.messageId())); } return this; }
private static MqttUnsubscribeMessage createUnsubscribeMessage() { MqttFixedHeader mqttFixedHeader = new MqttFixedHeader(MqttMessageType.UNSUBSCRIBE, false, MqttQoS.AT_LEAST_ONCE, true, 0); MqttPacketIdVariableHeader mqttPacketIdVariableHeader = MqttPacketIdVariableHeader.from(12345); List<String> topics = new LinkedList<>(); topics.add("/abc"); topics.add("/def"); topics.add("/xyz"); MqttUnsubscribePayload mqttUnsubscribePayload = new MqttUnsubscribePayload(topics); return new MqttUnsubscribeMessage(mqttFixedHeader, mqttPacketIdVariableHeader, mqttUnsubscribePayload); }
new MqttAdditionalHeader(version, clientId, userName, null), MqttPacketIdVariableHeader.from(packetId), new MqttUnsubscribePayload(topics)); this.cluster.sendToApplication(msg);