output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
/** * A method used to unsubscribe from a specific topic and listener * @param topic CharSequence arg used in output.append * @param listener PubSubMethodListenerBase arg used in PipeWriter.writeInt * @return true if msgCommandChannel.goPipe == null || PipeWriter.hasRoomForWrite(msgCommandChannel.goPipe) <p> else false */ public boolean unsubscribe(CharSequence topic, PubSubMethodListenerBase listener) { assert((0 != (msgCommandChannel.initFeatures & MsgCommandChannel.DYNAMIC_MESSAGING))) : "CommandChannel must be created with DYNAMIC_MESSAGING flag"; if (msgCommandChannel.goHasRoom() && PipeWriter.tryWriteFragment(msgCommandChannel.messagePubSub, MessagePubSub.MSG_UNSUBSCRIBE_101)) { PipeWriter.writeInt(msgCommandChannel.messagePubSub, MessagePubSub.MSG_SUBSCRIBE_100_FIELD_SUBSCRIBERIDENTITYHASH_4, System.identityHashCode(listener)); //OLD PipeWriter.writeUTF8(messagePubSub, MessagePubSub.MSG_UNSUBSCRIBE_101_FIELD_TOPIC_1, topic); DataOutputBlobWriter<MessagePubSub> output = PipeWriter.outputStream(msgCommandChannel.messagePubSub); output.openField(); output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output); output.closeHighLevelField(MessagePubSub.MSG_UNSUBSCRIBE_101_FIELD_TOPIC_1); PipeWriter.publishWrites(msgCommandChannel.messagePubSub); msgCommandChannel.builder.releasePubSubTraffic(1, msgCommandChannel); return true; } return false; }
output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.write(topicBytes, 0, topicBytes.length); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.write(topicBytes, 0, topicBytes.length); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.openField(); output.write(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.openField(); output.write(topicBytes, 0, topicBytes.length); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output); output.closeHighLevelField(MessagePubSub.MSG_PUBLISH_103_FIELD_TOPIC_1);
output.openField(); output.write(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
DataOutputBlobWriter.openField(pw); topic.write(pw); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, pw); DataOutputBlobWriter.closeHighLevelField(pw, MessagePubSub.MSG_PUBLISH_103_FIELD_TOPIC_1);
output.openField(); output.write(topicBytes, 0, topicBytes.length); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output); output.closeHighLevelField(MessagePubSub.MSG_PUBLISH_103_FIELD_TOPIC_1);
output.write(topicBytes, 0, topicBytes.length); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.openField(); output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output); output.closeHighLevelField(MessagePubSub.MSG_PUBLISH_103_FIELD_TOPIC_1);
output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);
output.openField(); output.append(topic); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output); output.closeHighLevelField(MessagePubSub.MSG_PUBLISH_103_FIELD_TOPIC_1);
output.write(topicBytes, 0, topicBytes.length); MsgCommandChannel.publicTrackedTopicSuffix(msgCommandChannel, output);