lhotari commented on code in PR #25:
URL: 
https://github.com/apache/pulsar-client-reactive/pull/25#discussion_r1030210613


##########
pulsar-client-reactive-api/src/main/java/org/apache/pulsar/reactive/client/api/ReactiveMessageSenderSpec.java:
##########
@@ -27,60 +27,202 @@
 import org.apache.pulsar.client.api.MessageRouter;
 import org.apache.pulsar.client.api.MessageRoutingMode;
 import org.apache.pulsar.client.api.ProducerAccessMode;
+import org.apache.pulsar.client.api.ProducerBuilder;
 import org.apache.pulsar.client.api.ProducerCryptoFailureAction;
 
+/**
+ * Spec for {@link ReactiveMessageSender} configuration.
+ *
+ * @author Lari Hotari
+ * @author Christophe Bornet
+ */
 public interface ReactiveMessageSenderSpec {
 
+       /**
+        * Gets the topic to publish on.
+        * @return the topic
+        * @see ProducerBuilder#topic
+        */
        String getTopicName();
 
+       /**
+        * Gets the name of the producer.
+        * @return the producer name
+        * @see ProducerBuilder#producerName
+        */
        String getProducerName();
 
+       /**
+        * Gets the send timeout.
+        * @return the send timeout
+        * @see ProducerBuilder#sendTimeout
+        */
        Duration getSendTimeout();
 
+       /**
+        * Gets the maximum size of the queue holding the messages pending to 
receive an
+        * acknowledgment from the broker.
+        * @return the maximum pending messages
+        * @see ProducerBuilder#maxPendingMessages
+        */
        Integer getMaxPendingMessages();
 
+       /**
+        * Gets the maximum number of pending messages across all the 
partitions.
+        * @return the maximum number of pending messages across all the 
partitions
+        * @see ProducerBuilder#maxPendingMessagesAcrossPartitions
+        */
        Integer getMaxPendingMessagesAcrossPartitions();
 
+       /**
+        * Gets the message routing logic for producers on partitioned topics.
+        * @return the message routing mode
+        * @see ProducerBuilder#messageRoutingMode
+        */
        MessageRoutingMode getMessageRoutingMode();
 
+       /**
+        * Gets the hashing function determining the partition where to publish 
a particular
+        * message on partitioned topics.
+        * @return the hashing scheme
+        * @see ProducerBuilder#hashingScheme
+        */
        HashingScheme getHashingScheme();
 
+       /**
+        * Gets the action the producer will take in case of encryption 
failures.
+        * @return the action the producer will take in case of encryption 
failures
+        * @see ProducerBuilder#cryptoFailureAction
+        */
        ProducerCryptoFailureAction getCryptoFailureAction();
 
+       /**
+        * Gets the action the producer will take in case of encryption 
failures.
+        * @return the action the producer will take in case of encryption 
failures
+        * @see ProducerBuilder#messageRouter
+        */
        MessageRouter getMessageRouter();
 
+       /**
+        * Gets the time period within which the messages sent will be batched.
+        * @return the batch delay
+        * @see ProducerBuilder#batchingMaxPublishDelay
+        */
        Duration getBatchingMaxPublishDelay();
 
+       /**
+        * Gets the partition switch frequency while batching of messages is 
enabled and using
+        * round-robin routing mode for non-keyed message.
+        * @return the frequency of partition switch
+        * @see ProducerBuilder#roundRobinRouterBatchingPartitionSwitchFrequency
+        */
        Integer getRoundRobinRouterBatchingPartitionSwitchFrequency();
 
+       /**
+        * Gets the maximum number of messages permitted in a batch.
+        * @return the maximum number of messages in a batch
+        * @see ProducerBuilder#batchingMaxMessages
+        */
        Integer getBatchingMaxMessages();
 
+       /**
+        * Gets the maximum number of bytes permitted in a batch.
+        * @return the maximum number of messages in a batch
+        * @see ProducerBuilder#batchingMaxBytes
+        */
        Integer getBatchingMaxBytes();
 
+       /**
+        * Gets whether automatic batching of messages is enabled for the 
producer.
+        * @return true if batching is enabled
+        * @see ProducerBuilder#enableBatching
+        */
        Boolean getBatchingEnabled();
 
+       /**
+        * Gets the batcher builder of the producer.
+        * @return the batcher builder
+        * @see ProducerBuilder#batcherBuilder
+        */
        BatcherBuilder getBatcherBuilder();
 
+       /**
+        * Gets whether chunking of messages is enabled.
+        * @return true if message chunking is enabled
+        * @see ProducerBuilder#enableChunking
+        */
        Boolean getChunkingEnabled();
 
+       /**
+        * Gets the key reader to be used to encrypt the message payloads.
+        * @return the key reader to be used to encrypt the message payloads
+        * @see ProducerBuilder#cryptoKeyReader
+        */
        CryptoKeyReader getCryptoKeyReader();
 
+       /**
+        * Gets the public encryption key names, used by producer to encrypt 
the data key.
+        * @return the public encryption key names
+        * @see ProducerBuilder#addEncryptionKey
+        */
        Set<String> getEncryptionKeys();
 
+       /**
+        * Gets the compression type for the producer.
+        * @return the compression type
+        * @see ProducerBuilder#compressionType
+        */
        CompressionType getCompressionType();
 
+       /**
+        * Gets the baseline for the sequence ids for messages published by the 
producer.
+        * @return the initial sequence id
+        * @see ProducerBuilder#initialSequenceId
+        */
        Long getInitialSequenceId();
 
+       /**
+        * Gets whether partitioned producer will automatically discover new 
partitions at
+        * runtime.
+        * @return true if auto discovery of the partition configuration 
changes is enabled
+        * @see ProducerBuilder#autoUpdatePartitions
+        */
        Boolean getAutoUpdatePartitions();
 
+       /**
+        * Gets the interval of partitions updates if autoUpdatePartitions is 
enabled.
+        * @return the interval of partitions updates
+        * @see ProducerBuilder#autoUpdatePartitionsInterval
+        */
        Duration getAutoUpdatePartitionsInterval();
 
+       /**
+        * Gets whether the multiple schema mode is enabled.
+        * @return true if the multiple schema mode is enabled
+        * @see ProducerBuilder#enableMultiSchema
+        */
        Boolean getMultiSchema();

Review Comment:
   btw. We don't currently have support for multi-schema. I created #26 to 
address this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to