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

liuyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 21adedc  [Doc] Add descriptions for C++ Client API doc 
(ClientConfiguration.h + ConsumerConfiguration.h + ReaderConfiguration.h) 
(#10103)
21adedc is described below

commit 21adedc3f57eaab23d4bce1dfd733ae93d7db22a
Author: Yu Liu <[email protected]>
AuthorDate: Fri Apr 2 17:42:40 2021 +0800

    [Doc] Add descriptions for C++ Client API doc (ClientConfiguration.h + 
ConsumerConfiguration.h + ReaderConfiguration.h) (#10103)
    
    * [Doc] Add descriptions for C++ Client API doc
    
    * update
    
    * update
    
    * update
    
    Co-authored-by: Anonymitaet <anonymitaet_hotmail.com>
---
 .../include/pulsar/ClientConfiguration.h           |  68 ++++++++++-
 .../include/pulsar/ConsumerConfiguration.h         | 124 ++++++++++++++++++---
 .../include/pulsar/ReaderConfiguration.h           | 105 +++++++++++++++--
 3 files changed, 269 insertions(+), 28 deletions(-)

diff --git a/pulsar-client-cpp/include/pulsar/ClientConfiguration.h 
b/pulsar-client-cpp/include/pulsar/ClientConfiguration.h
index 11b4cd0..71717c2 100644
--- a/pulsar-client-cpp/include/pulsar/ClientConfiguration.h
+++ b/pulsar-client-cpp/include/pulsar/ClientConfiguration.h
@@ -142,29 +142,87 @@ class PULSAR_PUBLIC ClientConfiguration {
      */
     ClientConfiguration& setLogger(LoggerFactory* loggerFactory);
 
+    /**
+     * Configure whether to use the TLS encryption on the connections.
+     *
+     * The default value is false.
+     *
+     * @param useTls
+     */
     ClientConfiguration& setUseTls(bool useTls);
+
+    /**
+     * @return whether the TLS encryption is used on the connections
+     */
     bool isUseTls() const;
 
+    /**
+     * Set the path to the trusted TLS certificate file.
+     *
+     * @param tlsTrustCertsFilePath
+     */
     ClientConfiguration& setTlsTrustCertsFilePath(const std::string& 
tlsTrustCertsFilePath);
+
+    /**
+     * @return the path to the trusted TLS certificate file
+     */
     std::string getTlsTrustCertsFilePath() const;
 
+    /**
+     * Configure whether the Pulsar client accepts untrusted TLS certificates 
from brokers.
+     *
+     * The default value is false.
+     *
+     * @param tlsAllowInsecureConnection
+     */
     ClientConfiguration& setTlsAllowInsecureConnection(bool allowInsecure);
+
+    /**
+     * @return whether the Pulsar client accepts untrusted TLS certificates 
from brokers
+     */
     bool isTlsAllowInsecureConnection() const;
 
+    /**
+     * Configure whether it allows validating hostname verification when a 
client connects to a broker over
+     * TLS.
+     *
+     * It validates the incoming x509 certificate and matches the provided 
hostname (CN/SAN) with the
+     * expected broker's hostname. It follows the server identity hostname 
verification in RFC 2818.
+     *
+     * The default value is false.
+     *
+     * @see [RFC 2818](https://tools.ietf.org/html/rfc2818).
+     *
+     * @param validateHostName whether to enable the TLS hostname verification
+     */
     ClientConfiguration& setValidateHostName(bool validateHostName);
+
+    /**
+     * @return true if the TLS hostname verification is enabled
+     */
     bool isValidateHostName() const;
 
+    /**
+     * Configure the listener name that the broker returns the corresponding 
`advertisedListener`.
+     *
+     * @param name the listener name
+     */
     ClientConfiguration& setListenerName(const std::string& listenerName);
+
+    /**
+     * @return the listener name for the broker
+     */
     const std::string& getListenerName() const;
 
-    /*
-     * Initialize stats interval in seconds. Stats are printed and reset after 
every 'statsIntervalInSeconds'.
-     * Set to 0 in order to disable stats collection.
+    /**
+     * Initialize stats interval in seconds. Stats are printed and reset after 
every `statsIntervalInSeconds`.
+     *
+     * Set to 0 means disabling stats collection.
      */
     ClientConfiguration& setStatsIntervalInSeconds(const unsigned int&);
 
-    /*
-     * Get the stats interval set in the client.
+    /**
+     * @return the stats interval configured for the client
      */
     const unsigned int& getStatsIntervalInSeconds() const;
 
diff --git a/pulsar-client-cpp/include/pulsar/ConsumerConfiguration.h 
b/pulsar-client-cpp/include/pulsar/ConsumerConfiguration.h
index d472b63..5dc42a9 100644
--- a/pulsar-client-cpp/include/pulsar/ConsumerConfiguration.h
+++ b/pulsar-client-cpp/include/pulsar/ConsumerConfiguration.h
@@ -89,17 +89,25 @@ class PULSAR_PUBLIC ConsumerConfiguration {
      * consumers will be promoted to primary and will start getting messages.
      */
     ConsumerConfiguration& setConsumerType(ConsumerType consumerType);
+
+    /**
+     * @return the consumer type
+     */
     ConsumerType getConsumerType() const;
 
     /**
      * Set KeyShared subscription policy for consumer.
      *
-     * <p>By default, KeyShared subscription use auto split hash range to 
maintain consumers. If you want to
+     * By default, KeyShared subscription use auto split hash range to 
maintain consumers. If you want to
      * set a different KeyShared policy, you can set by following example:
      *
      * @param keySharedPolicy The {@link KeySharedPolicy} want to specify
      */
     ConsumerConfiguration& setKeySharedPolicy(KeySharedPolicy keySharedPolicy);
+
+    /**
+     * @return the KeyShared subscription policy
+     */
     KeySharedPolicy getKeySharedPolicy() const;
 
     /**
@@ -108,37 +116,49 @@ class PULSAR_PUBLIC ConsumerConfiguration {
      * for every message received.
      */
     ConsumerConfiguration& setMessageListener(MessageListener messageListener);
+
+    /**
+     * @return the message listener
+     */
     MessageListener getMessageListener() const;
+
+    /**
+     * @return true if the message listener has been set
+     */
     bool hasMessageListener() const;
 
     /**
      * Sets the size of the consumer receive queue.
      *
-     * The consumer receive queue controls how many messages can be 
accumulated by the Consumer before the
-     * application calls receive(). Using a higher value could potentially 
increase the consumer throughput
+     * The consumer receive queue controls how many messages can be 
accumulated by the consumer before the
+     * application calls receive(). Using a higher value may potentially 
increase the consumer throughput
      * at the expense of bigger memory utilization.
      *
-     * Setting the consumer queue size as zero decreases the throughput of the 
consumer, by disabling
+     * Setting the consumer queue size to 0 decreases the throughput of the 
consumer by disabling
      * pre-fetching of
-     * messages. This approach improves the message distribution on shared 
subscription, by pushing messages
+     * messages. This approach improves the message distribution on shared 
subscription by pushing messages
      * only to
-     * the consumers that are ready to process them. Neither receive with 
timeout nor Partitioned Topics can
+     * the consumers that are ready to process them. Neither receive with 
timeout nor partitioned topics can
      * be
-     * used if the consumer queue size is zero. The receive() function call 
should not be interrupted when
-     * the consumer queue size is zero.
+     * used if the consumer queue size is 0. The receive() function call 
should not be interrupted when
+     * the consumer queue size is 0.
      *
-     * Default value is 1000 messages and should be good for most use cases.
+     * The default value is 1000 messages and it is appropriate for the most 
use cases.
+     *
+     * @param size the new receiver queue size value
      *
-     * @param size
-     *            the new receiver queue size value
      */
     void setReceiverQueueSize(int size);
+
+    /**
+     * @return the receiver queue size
+     */
     int getReceiverQueueSize() const;
 
     /**
      * Set the max total receiver queue size across partitons.
-     * <p>
-     * This setting will be used to reduce the receiver queue size for 
individual partitions
+     *
+     * This setting is used to reduce the receiver queue size for individual 
partitions
      * {@link #setReceiverQueueSize(int)} if the total exceeds this value 
(default: 50000).
      *
      * @param maxTotalReceiverQueueSizeAcrossPartitions
@@ -150,7 +170,16 @@ class PULSAR_PUBLIC ConsumerConfiguration {
      */
     int getMaxTotalReceiverQueueSizeAcrossPartitions() const;
 
-    void setConsumerName(const std::string&);
+    /**
+     * Set the consumer name.
+     *
+     * @param consumerName
+     */
+    void setConsumerName(const std::string& consumerName);
+
+    /**
+     * @return the consumer name
+     */
     const std::string& getConsumerName() const;
 
     /**
@@ -167,13 +196,27 @@ class PULSAR_PUBLIC ConsumerConfiguration {
      */
     long getUnAckedMessagesTimeoutMs() const;
 
+    /**
+     * Set the tick duration time that defines the granularity of the 
ack-timeout redelivery (in
+     * milliseconds).
+     *
+     * The default value is 1000, which means 1 second.
+     *
+     * Using a higher tick time reduces
+     * the memory overhead to track messages when the ack-timeout is set to a 
bigger value.
+     *
+     * @param milliSeconds the tick duration time (in milliseconds)
+     */
     void setTickDurationInMs(const uint64_t milliSeconds);
 
+    /**
+     * @return the tick duration time (in milliseconds)
+     */
     long getTickDurationInMs() const;
 
     /**
      * Set the delay to wait before re-delivering messages that have failed to 
be process.
-     * <p>
+     *
      * When application uses {@link Consumer#negativeAcknowledge(Message)}, 
the failed message
      * will be redelivered after a fixed timeout. The default is 1 min.
      *
@@ -235,14 +278,51 @@ class PULSAR_PUBLIC ConsumerConfiguration {
      */
     long getBrokerConsumerStatsCacheTimeInMs() const;
 
+    /**
+     * @return true if encryption keys are added
+     */
     bool isEncryptionEnabled() const;
+
+    /**
+     * @return the shared pointer to CryptoKeyReader.
+     */
     const CryptoKeyReaderPtr getCryptoKeyReader() const;
+
+    /**
+     * Set the shared pointer to CryptoKeyReader.
+     *
+     * @param the shared pointer to CryptoKeyReader
+     */
     ConsumerConfiguration& setCryptoKeyReader(CryptoKeyReaderPtr 
cryptoKeyReader);
 
+    /**
+     * @return the ConsumerCryptoFailureAction
+     */
     ConsumerCryptoFailureAction getCryptoFailureAction() const;
+
+    /**
+     * Set the ConsumerCryptoFailureAction.
+     */
     ConsumerConfiguration& setCryptoFailureAction(ConsumerCryptoFailureAction 
action);
 
+    /**
+     * @return true if readCompacted is enabled
+     */
     bool isReadCompacted() const;
+
+    /**
+     * If enabled, the consumer reads messages from the compacted topics 
rather than reading the full message
+     * backlog of the topic. This means that if the topic has been compacted, 
the consumer only sees the
+     * latest value for each key in the topic, up until the point in the topic 
message backlog that has been
+     * compacted. Beyond that point, message is sent as normal.
+     *
+     * `readCompacted` can only be enabled subscriptions to persistent topics, 
which have a single active
+     * consumer (for example, failure or exclusive subscriptions). Attempting 
to enable it on subscriptions to
+     * a non-persistent topics or on a shared subscription leads to the 
subscription call failure.
+     *
+     * @param readCompacted
+     *            whether to read from the compacted topic
+     */
     void setReadCompacted(bool compacted);
 
     /**
@@ -253,9 +333,23 @@ class PULSAR_PUBLIC ConsumerConfiguration {
      * @param periodInSeconds       period in seconds to do an auto discovery
      */
     void setPatternAutoDiscoveryPeriod(int periodInSeconds);
+
+    /**
+     * @return the time duration for the PatternMultiTopicsConsumer performs a 
pattern auto discovery
+     */
     int getPatternAutoDiscoveryPeriod() const;
 
+    /**
+     * The default value is `InitialPositionLatest`.
+     *
+     * @param subscriptionInitialPosition the initial position at which to set
+     * the cursor when subscribing to the topic for the first time
+     */
     void setSubscriptionInitialPosition(InitialPosition 
subscriptionInitialPosition);
+
+    /**
+     * @return the configured `InitialPosition` for the consumer
+     */
     InitialPosition getSubscriptionInitialPosition() const;
 
     /**
diff --git a/pulsar-client-cpp/include/pulsar/ReaderConfiguration.h 
b/pulsar-client-cpp/include/pulsar/ReaderConfiguration.h
index 96b36b6..3d0af20 100644
--- a/pulsar-client-cpp/include/pulsar/ReaderConfiguration.h
+++ b/pulsar-client-cpp/include/pulsar/ReaderConfiguration.h
@@ -71,47 +71,101 @@ class PULSAR_PUBLIC ReaderConfiguration {
      * messages. A listener will be called in order for every message received.
      */
     ReaderConfiguration& setReaderListener(ReaderListener listener);
+
+    /**
+     * @return the configured {@link ReaderListener} for the reader
+     */
     ReaderListener getReaderListener() const;
+
+    /**
+     * @return true if {@link ReaderListener} has been set
+     */
     bool hasReaderListener() const;
 
     /**
      * Sets the size of the reader receive queue.
      *
-     * The consumer receive queue controls how many messages can be 
accumulated by the Consumer before the
-     * application calls receive(). Using a higher value could potentially 
increase the consumer throughput
+     * The consumer receive queue controls how many messages can be 
accumulated by the consumer before the
+     * application calls receive(). Using a higher value may potentially 
increase the consumer throughput
      * at the expense of bigger memory utilization.
      *
-     * Setting the consumer queue size as zero decreases the throughput of the 
consumer, by disabling
+     * Setting the consumer queue size to 0 decreases the throughput of the 
consumer by disabling
      * pre-fetching of
-     * messages. This approach improves the message distribution on shared 
subscription, by pushing messages
+     * messages. This approach improves the message distribution on shared 
subscription by pushing messages
      * only to
-     * the consumers that are ready to process them. Neither receive with 
timeout nor Partitioned Topics can
+     * the consumers that are ready to process them. Neither receive with 
timeout nor partitioned topics can
      * be
-     * used if the consumer queue size is zero. The receive() function call 
should not be interrupted when
-     * the consumer queue size is zero.
+     * used if the consumer queue size is 0. The receive() function call 
should not be interrupted when
+     * the consumer queue size is 0.
      *
-     * Default value is 1000 messages and should be good for most use cases.
+     * The default value is 1000 messages and it is appropriate for most use 
cases.
      *
      * @param size
      *            the new receiver queue size value
      */
     void setReceiverQueueSize(int size);
+
+    /**
+     * @return the receiver queue size
+     */
     int getReceiverQueueSize() const;
 
+    /**
+     * Set the reader name.
+     *
+     * @param readerName
+     */
     void setReaderName(const std::string& readerName);
+
+    /**
+     * @return the reader name
+     */
     const std::string& getReaderName() const;
 
+    /**
+     * Set the subscription role prefix.
+     *
+     * The default prefix is an empty string.
+     *
+     * @param subscriptionRolePrefix
+     */
     void setSubscriptionRolePrefix(const std::string& subscriptionRolePrefix);
+
+    /**
+     * @return the subscription role prefix
+     */
     const std::string& getSubscriptionRolePrefix() const;
 
+    /**
+     * If enabled, the consumer reads messages from the compacted topics 
rather than reading the full message
+     * backlog of the topic. This means that if the topic has been compacted, 
the consumer only sees the
+     * latest value for each key in the topic, up until the point in the topic 
message backlog that has been
+     * compacted. Beyond that point, message is sent as normal.
+     *
+     * readCompacted can only be enabled subscriptions to persistent topics, 
which have a single active
+     * consumer (for example, failure or exclusive subscriptions). Attempting 
to enable it on subscriptions to
+     * a non-persistent topics or on a shared subscription leads to the 
subscription call failure.
+     *
+     * @param readCompacted
+     *            whether to read from the compacted topic
+     */
     void setReadCompacted(bool compacted);
+
+    /**
+     * @return true if readCompacted is enabled
+     */
     bool isReadCompacted() const;
 
     /**
      * Set the internal subscription name.
+     *
      * @param internal subscriptionName
      */
     void setInternalSubscriptionName(std::string internalSubscriptionName);
+
+    /**
+     * @return the internal subscription name
+     */
     const std::string& getInternalSubscriptionName() const;
 
     /**
@@ -128,8 +182,23 @@ class PULSAR_PUBLIC ReaderConfiguration {
      */
     long getUnAckedMessagesTimeoutMs() const;
 
+    /**
+     * Set the tick duration time that defines the granularity of the 
ack-timeout redelivery (in
+     * milliseconds).
+     *
+     * The default value is 1000, which means 1 second.
+     *
+     * Using a higher tick time
+     * reduces the memory overhead to track messages when the ack-timeout is 
set to a bigger value.
+     *
+     * @param milliSeconds the tick duration time (in milliseconds)
+     *
+     */
     void setTickDurationInMs(const uint64_t milliSeconds);
 
+    /**
+     * @return the tick duration time (in milliseconds)
+     */
     long getTickDurationInMs() const;
 
     /**
@@ -164,11 +233,31 @@ class PULSAR_PUBLIC ReaderConfiguration {
      */
     long getAckGroupingMaxSize() const;
 
+    /**
+     * @return true if encryption keys are added
+     */
     bool isEncryptionEnabled() const;
+
+    /**
+     * @return the shared pointer to CryptoKeyReader
+     */
     const CryptoKeyReaderPtr getCryptoKeyReader() const;
+
+    /**
+     * Set the shared pointer to CryptoKeyReader.
+     *
+     * @param the shared pointer to CryptoKeyReader
+     */
     ReaderConfiguration& setCryptoKeyReader(CryptoKeyReaderPtr 
cryptoKeyReader);
 
+    /**
+     * @return the ConsumerCryptoFailureAction
+     */
     ConsumerCryptoFailureAction getCryptoFailureAction() const;
+
+    /**
+     * Set the CryptoFailureAction for the reader.
+     */
     ReaderConfiguration& setCryptoFailureAction(ConsumerCryptoFailureAction 
action);
 
     /**

Reply via email to