You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2022/11/23 09:35:25 UTC

[pulsar-client-reactive] branch main updated: Add javadoc to ReactiveMessageSenderSpec (#25)

This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-client-reactive.git


The following commit(s) were added to refs/heads/main by this push:
     new c27b478  Add javadoc to ReactiveMessageSenderSpec (#25)
c27b478 is described below

commit c27b478d6867131dae84e2d1ca869aa1fc9743aa
Author: Christophe Bornet <cb...@hotmail.com>
AuthorDate: Wed Nov 23 10:35:20 2022 +0100

    Add javadoc to ReactiveMessageSenderSpec (#25)
---
 .../client/api/ReactiveMessageSenderSpec.java      | 142 +++++++++++++++++++++
 1 file changed, 142 insertions(+)

diff --git a/pulsar-client-reactive-api/src/main/java/org/apache/pulsar/reactive/client/api/ReactiveMessageSenderSpec.java b/pulsar-client-reactive-api/src/main/java/org/apache/pulsar/reactive/client/api/ReactiveMessageSenderSpec.java
index 3bf87c9..0ee1715 100644
--- a/pulsar-client-reactive-api/src/main/java/org/apache/pulsar/reactive/client/api/ReactiveMessageSenderSpec.java
+++ b/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.HashingScheme;
 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();
 
+	/**
+	 * Gets the type of access mode that the producer requires on the topic.
+	 * @return the access mode
+	 * @see ProducerBuilder#accessMode
+	 */
 	ProducerAccessMode getAccessMode();
 
+	/**
+	 * Gets whether producers register and connect immediately to the owner broker of each
+	 * partition or start lazily on demand.
+	 * @return true if lazy starting of partitioned producers is enabled
+	 * @see ProducerBuilder#enableLazyStartPartitionedProducers
+	 */
 	Boolean getLazyStartPartitionedProducers();
 
+	/**
+	 * Gets the properties of the producer.
+	 * @return the properties of the producer
+	 * @see ProducerBuilder#properties
+	 */
 	Map<String, String> getProperties();
 
 }