You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by xy...@apache.org on 2026/06/14 13:33:39 UTC

(pulsar-site) 01/01: Add CPP client v4.2.0 API docs

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

BewareMyPower pushed a commit to branch gen-cpp-apidoc
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git

commit f646934ac216d7df02ff0217e46d9b213ddfab4b
Author: Yunze Xu <xy...@163.com>
AuthorDate: Sun Jun 14 21:33:24 2026 +0800

    Add CPP client v4.2.0 API docs
---
 .../api/cpp/4.2.x/_authentication_8h_source.html   |  425 ++++
 .../4.2.x/_auto_cluster_failover_8h_source.html    |  178 ++
 .../cpp/4.2.x/_batch_receive_policy_8h_source.html |  127 +
 .../4.2.x/_broker_consumer_stats_8h_source.html    |  172 ++
 static/api/cpp/4.2.x/_client_8h_source.html        |  313 +++
 .../cpp/4.2.x/_client_configuration_8h_source.html |  296 +++
 .../api/cpp/4.2.x/_compression_type_8h_source.html |  108 +
 .../4.2.x/_console_logger_factory_8h_source.html   |  120 +
 static/api/cpp/4.2.x/_consumer_8h_source.html      |  267 +++
 .../4.2.x/_consumer_configuration_8h_source.html   |  405 ++++
 .../_consumer_crypto_failure_action_8h_source.html |  109 +
 .../4.2.x/_consumer_event_listener_8h_source.html  |  115 +
 .../cpp/4.2.x/_consumer_interceptor_8h_source.html |  136 ++
 static/api/cpp/4.2.x/_consumer_type_8h_source.html |  117 +
 .../cpp/4.2.x/_crypto_key_reader_8h_source.html    |  147 ++
 .../cpp/4.2.x/_dead_letter_policy_8h_source.html   |  129 +
 .../_dead_letter_policy_builder_8h_source.html     |  128 +
 .../cpp/4.2.x/_deprecated_exception_8h_source.html |  112 +
 .../cpp/4.2.x/_encryption_context_8h_source.html   |  164 ++
 .../cpp/4.2.x/_encryption_key_info_8h_source.html  |  146 ++
 .../cpp/4.2.x/_file_logger_factory_8h_source.html  |  121 +
 .../api/cpp/4.2.x/_initial_position_8h_source.html |  105 +
 .../cpp/4.2.x/_key_shared_policy_8h_source.html    |  158 ++
 static/api/cpp/4.2.x/_key_value_8h_source.html     |  133 ++
 static/api/cpp/4.2.x/_logger_8h_source.html        |  134 ++
 static/api/cpp/4.2.x/_message_8h_source.html       |  243 ++
 static/api/cpp/4.2.x/_message_batch_8h_source.html |  126 +
 .../api/cpp/4.2.x/_message_builder_8h_source.html  |  183 ++
 static/api/cpp/4.2.x/_message_id_8h_source.html    |  178 ++
 .../cpp/4.2.x/_message_id_builder_8h_source.html   |  139 ++
 .../4.2.x/_message_routing_policy_8h_source.html   |  138 ++
 static/api/cpp/4.2.x/_producer_8h_source.html      |  170 ++
 .../4.2.x/_producer_configuration_8h_source.html   |  335 +++
 .../_producer_crypto_failure_action_8h_source.html |  107 +
 .../cpp/4.2.x/_producer_interceptor_8h_source.html |  132 ++
 .../4.2.x/_protobuf_native_schema_8h_source.html   |  103 +
 static/api/cpp/4.2.x/_reader_8h_source.html        |  176 ++
 .../cpp/4.2.x/_reader_configuration_8h_source.html |  242 ++
 .../4.2.x/_regex_subscription_mode_8h_source.html  |  112 +
 static/api/cpp/4.2.x/_result_8h_source.html        |  241 ++
 static/api/cpp/4.2.x/_schema_8h_source.html        |  220 ++
 static/api/cpp/4.2.x/_service_info_8h_source.html  |  128 +
 .../4.2.x/_service_info_provider_8h_source.html    |  119 +
 static/api/cpp/4.2.x/_table_view_8h_source.html    |  154 ++
 .../4.2.x/_table_view_configuration_8h_source.html |  113 +
 .../api/cpp/4.2.x/_topic_metadata_8h_source.html   |  110 +
 static/api/cpp/4.2.x/_typed_message_8h_source.html |  126 +
 .../4.2.x/_typed_message_builder_8h_source.html    |  158 ++
 static/api/cpp/4.2.x/annotated.html                |  151 ++
 .../cpp/4.2.x/c_2_authentication_8h_source.html    |  125 +
 static/api/cpp/4.2.x/c_2_client_8h_source.html     |  205 ++
 static/api/cpp/4.2.x/c_2_consumer_8h_source.html   |  207 ++
 static/api/cpp/4.2.x/c_2_message_8h_source.html    |  179 ++
 static/api/cpp/4.2.x/c_2_producer_8h_source.html   |  137 ++
 static/api/cpp/4.2.x/c_2_reader_8h_source.html     |  135 ++
 static/api/cpp/4.2.x/c_2_result_8h_source.html     |  166 ++
 static/api/cpp/4.2.x/classes.html                  |  130 +
 .../4.2.x/classpulsar_1_1_auth_athenz-members.html |  102 +
 .../api/cpp/4.2.x/classpulsar_1_1_auth_athenz.html |  255 ++
 .../api/cpp/4.2.x/classpulsar_1_1_auth_athenz.png  |  Bin 0 -> 596 bytes
 .../4.2.x/classpulsar_1_1_auth_basic-members.html  |  104 +
 .../api/cpp/4.2.x/classpulsar_1_1_auth_basic.html  |  320 +++
 .../api/cpp/4.2.x/classpulsar_1_1_auth_basic.png   |  Bin 0 -> 586 bytes
 .../classpulsar_1_1_auth_factory-members.html      |   99 +
 .../cpp/4.2.x/classpulsar_1_1_auth_factory.html    |  227 ++
 .../4.2.x/classpulsar_1_1_auth_oauth2-members.html |  102 +
 .../api/cpp/4.2.x/classpulsar_1_1_auth_oauth2.html |  268 +++
 .../api/cpp/4.2.x/classpulsar_1_1_auth_oauth2.png  |  Bin 0 -> 592 bytes
 .../4.2.x/classpulsar_1_1_auth_tls-members.html    |  103 +
 static/api/cpp/4.2.x/classpulsar_1_1_auth_tls.html |  286 +++
 static/api/cpp/4.2.x/classpulsar_1_1_auth_tls.png  |  Bin 0 -> 568 bytes
 .../4.2.x/classpulsar_1_1_auth_token-members.html  |  104 +
 .../api/cpp/4.2.x/classpulsar_1_1_auth_token.html  |  323 +++
 .../api/cpp/4.2.x/classpulsar_1_1_auth_token.png   |  Bin 0 -> 585 bytes
 .../classpulsar_1_1_authentication-members.html    |   99 +
 .../cpp/4.2.x/classpulsar_1_1_authentication.html  |  230 ++
 .../cpp/4.2.x/classpulsar_1_1_authentication.png   |  Bin 0 -> 1479 bytes
 ...r_1_1_authentication_data_provider-members.html |  102 +
 ...asspulsar_1_1_authentication_data_provider.html |  316 +++
 ...sspulsar_1_1_auto_cluster_failover-members.html |   97 +
 .../classpulsar_1_1_auto_cluster_failover.html     |  185 ++
 .../classpulsar_1_1_auto_cluster_failover.png      |  Bin 0 -> 737 bytes
 ..._auto_cluster_failover_1_1_builder-members.html |   97 +
 ...lsar_1_1_auto_cluster_failover_1_1_builder.html |  121 +
 ...asspulsar_1_1_batch_receive_policy-members.html |   97 +
 .../classpulsar_1_1_batch_receive_policy.html      |  228 ++
 ...sspulsar_1_1_broker_consumer_stats-members.html |  111 +
 .../classpulsar_1_1_broker_consumer_stats.html     |  480 ++++
 .../classpulsar_1_1_cached_token-members.html      |   96 +
 .../cpp/4.2.x/classpulsar_1_1_cached_token.html    |  155 ++
 .../cpp/4.2.x/classpulsar_1_1_client-members.html  |  134 ++
 static/api/cpp/4.2.x/classpulsar_1_1_client.html   | 1215 ++++++++++
 ...asspulsar_1_1_client_configuration-members.html |  145 ++
 .../classpulsar_1_1_client_configuration.html      | 1089 +++++++++
 ...spulsar_1_1_console_logger_factory-members.html |   96 +
 .../classpulsar_1_1_console_logger_factory.html    |  163 ++
 .../classpulsar_1_1_console_logger_factory.png     |  Bin 0 -> 754 bytes
 .../4.2.x/classpulsar_1_1_consumer-members.html    |  139 ++
 static/api/cpp/4.2.x/classpulsar_1_1_consumer.html | 1107 +++++++++
 ...spulsar_1_1_consumer_configuration-members.html |  176 ++
 .../classpulsar_1_1_consumer_configuration.html    | 1807 ++++++++++++++
 ...pulsar_1_1_consumer_event_listener-members.html |   95 +
 .../classpulsar_1_1_consumer_event_listener.html   |  180 ++
 ...asspulsar_1_1_consumer_interceptor-members.html |   98 +
 .../classpulsar_1_1_consumer_interceptor.html      |  304 +++
 .../classpulsar_1_1_crypto_key_reader-members.html |   96 +
 .../4.2.x/classpulsar_1_1_crypto_key_reader.html   |  207 ++
 .../4.2.x/classpulsar_1_1_crypto_key_reader.png    |  Bin 0 -> 845 bytes
 ...classpulsar_1_1_dead_letter_policy-members.html |   97 +
 .../4.2.x/classpulsar_1_1_dead_letter_policy.html  |  171 ++
 ...sar_1_1_dead_letter_policy_builder-members.html |   97 +
 ...classpulsar_1_1_dead_letter_policy_builder.html |  213 ++
 ...lsar_1_1_default_crypto_key_reader-members.html |   99 +
 .../classpulsar_1_1_default_crypto_key_reader.html |  243 ++
 .../classpulsar_1_1_default_crypto_key_reader.png  |  Bin 0 -> 835 bytes
 ...asspulsar_1_1_deprecated_exception-members.html |   93 +
 .../classpulsar_1_1_deprecated_exception.html      |  107 +
 .../4.2.x/classpulsar_1_1_deprecated_exception.png |  Bin 0 -> 697 bytes
 ...classpulsar_1_1_encryption_context-members.html |  102 +
 .../4.2.x/classpulsar_1_1_encryption_context.html  |  330 +++
 ...lasspulsar_1_1_encryption_key_info-members.html |  100 +
 .../4.2.x/classpulsar_1_1_encryption_key_info.html |  224 ++
 ...lasspulsar_1_1_file_logger_factory-members.html |   96 +
 .../4.2.x/classpulsar_1_1_file_logger_factory.html |  193 ++
 .../4.2.x/classpulsar_1_1_file_logger_factory.png  |  Bin 0 -> 717 bytes
 .../classpulsar_1_1_key_shared_policy-members.html |  104 +
 .../4.2.x/classpulsar_1_1_key_shared_policy.html   |  281 +++
 .../4.2.x/classpulsar_1_1_key_value-members.html   |   99 +
 .../api/cpp/4.2.x/classpulsar_1_1_key_value.html   |  224 ++
 .../cpp/4.2.x/classpulsar_1_1_logger-members.html  |  100 +
 static/api/cpp/4.2.x/classpulsar_1_1_logger.html   |  187 ++
 .../classpulsar_1_1_logger_factory-members.html    |   94 +
 .../cpp/4.2.x/classpulsar_1_1_logger_factory.html  |  147 ++
 .../cpp/4.2.x/classpulsar_1_1_logger_factory.png   |  Bin 0 -> 1049 bytes
 .../cpp/4.2.x/classpulsar_1_1_message-members.html |  140 ++
 static/api/cpp/4.2.x/classpulsar_1_1_message.html  |  705 ++++++
 static/api/cpp/4.2.x/classpulsar_1_1_message.png   |  Bin 0 -> 699 bytes
 .../classpulsar_1_1_message_batch-members.html     |   97 +
 .../cpp/4.2.x/classpulsar_1_1_message_batch.html   |  107 +
 .../classpulsar_1_1_message_builder-members.html   |  115 +
 .../cpp/4.2.x/classpulsar_1_1_message_builder.html |  561 +++++
 .../cpp/4.2.x/classpulsar_1_1_message_builder.png  |  Bin 0 -> 1448 bytes
 .../4.2.x/classpulsar_1_1_message_id-members.html  |  127 +
 .../api/cpp/4.2.x/classpulsar_1_1_message_id.html  |  354 +++
 ...classpulsar_1_1_message_id_builder-members.html |  101 +
 .../4.2.x/classpulsar_1_1_message_id_builder.html  |  296 +++
 ...spulsar_1_1_message_routing_policy-members.html |   95 +
 .../classpulsar_1_1_message_routing_policy.html    |  166 ++
 .../4.2.x/classpulsar_1_1_oauth2_flow-members.html |   97 +
 .../api/cpp/4.2.x/classpulsar_1_1_oauth2_flow.html |  181 ++
 ...lasspulsar_1_1_oauth2_token_result-members.html |  103 +
 .../4.2.x/classpulsar_1_1_oauth2_token_result.html |  282 +++
 .../4.2.x/classpulsar_1_1_producer-members.html    |  109 +
 static/api/cpp/4.2.x/classpulsar_1_1_producer.html |  407 ++++
 ...spulsar_1_1_producer_configuration-members.html |  167 ++
 .../classpulsar_1_1_producer_configuration.html    | 1327 +++++++++++
 ...asspulsar_1_1_producer_interceptor-members.html |   97 +
 .../classpulsar_1_1_producer_interceptor.html      |  265 +++
 .../cpp/4.2.x/classpulsar_1_1_reader-members.html  |  113 +
 static/api/cpp/4.2.x/classpulsar_1_1_reader.html   |  496 ++++
 ...asspulsar_1_1_reader_configuration-members.html |  131 +
 .../classpulsar_1_1_reader_configuration.html      |  881 +++++++
 .../4.2.x/classpulsar_1_1_schema_info-members.html |   99 +
 .../api/cpp/4.2.x/classpulsar_1_1_schema_info.html |  283 +++
 .../classpulsar_1_1_service_info-members.html      |   98 +
 .../cpp/4.2.x/classpulsar_1_1_service_info.html    |  115 +
 ...sspulsar_1_1_service_info_provider-members.html |   95 +
 .../classpulsar_1_1_service_info_provider.html     |  203 ++
 .../classpulsar_1_1_service_info_provider.png      |  Bin 0 -> 745 bytes
 .../4.2.x/classpulsar_1_1_table_view-members.html  |  104 +
 .../api/cpp/4.2.x/classpulsar_1_1_table_view.html  |  337 +++
 .../classpulsar_1_1_topic_metadata-members.html    |   94 +
 .../cpp/4.2.x/classpulsar_1_1_topic_metadata.html  |  131 +
 .../classpulsar_1_1_typed_message-members.html     |  131 +
 .../cpp/4.2.x/classpulsar_1_1_typed_message.html   |  169 ++
 .../cpp/4.2.x/classpulsar_1_1_typed_message.png    |  Bin 0 -> 696 bytes
 ...sspulsar_1_1_typed_message_builder-members.html |  118 +
 .../classpulsar_1_1_typed_message_builder.html     |  150 ++
 .../classpulsar_1_1_typed_message_builder.png      |  Bin 0 -> 817 bytes
 ...age_builder_3_01std_1_1string_01_4-members.html |  119 +
 ...ped_message_builder_3_01std_1_1string_01_4.html |  153 ++
 ...yped_message_builder_3_01std_1_1string_01_4.png |  Bin 0 -> 1151 bytes
 .../cpp/4.2.x/client__configuration_8h_source.html |  227 ++
 static/api/cpp/4.2.x/clipboard.js                  |   61 +
 .../4.2.x/consumer__configuration_8h_source.html   |  346 +++
 static/api/cpp/4.2.x/cookie.js                     |   58 +
 static/api/cpp/4.2.x/darkmode_toggle.js            |  228 ++
 static/api/cpp/4.2.x/defines_8h_source.html        |  116 +
 static/api/cpp/4.2.x/deprecated.html               |  100 +
 .../dir_501ae28692a6b25a33adbd2bed71d4b9.html      |  112 +
 .../dir_84093bac216bb6272e4432021f1ca7f4.html      |  146 ++
 .../dir_d44c64559bbebec7f509842c48db8b23.html      |   94 +
 static/api/cpp/4.2.x/doxygen.css                   | 2491 ++++++++++++++++++++
 static/api/cpp/4.2.x/doxygen.svg                   |   28 +
 static/api/cpp/4.2.x/doxygen_crawl.html            |  870 +++++++
 static/api/cpp/4.2.x/dynsections.js                |  191 ++
 static/api/cpp/4.2.x/files.html                    |  160 ++
 static/api/cpp/4.2.x/functions.html                |   93 +
 static/api/cpp/4.2.x/functions_b.html              |   97 +
 static/api/cpp/4.2.x/functions_c.html              |  101 +
 static/api/cpp/4.2.x/functions_d.html              |   91 +
 static/api/cpp/4.2.x/functions_e.html              |   92 +
 static/api/cpp/4.2.x/functions_enum.html           |   86 +
 static/api/cpp/4.2.x/functions_eval.html           |   90 +
 static/api/cpp/4.2.x/functions_f.html              |   92 +
 static/api/cpp/4.2.x/functions_func.html           |   93 +
 static/api/cpp/4.2.x/functions_func_b.html         |   96 +
 static/api/cpp/4.2.x/functions_func_c.html         |  101 +
 static/api/cpp/4.2.x/functions_func_d.html         |   90 +
 static/api/cpp/4.2.x/functions_func_e.html         |   90 +
 static/api/cpp/4.2.x/functions_func_f.html         |   92 +
 static/api/cpp/4.2.x/functions_func_g.html         |  224 ++
 static/api/cpp/4.2.x/functions_func_h.html         |   99 +
 static/api/cpp/4.2.x/functions_func_i.html         |  108 +
 static/api/cpp/4.2.x/functions_func_k.html         |   88 +
 static/api/cpp/4.2.x/functions_func_l.html         |   89 +
 static/api/cpp/4.2.x/functions_func_m.html         |   89 +
 static/api/cpp/4.2.x/functions_func_n.html         |   87 +
 static/api/cpp/4.2.x/functions_func_o.html         |   91 +
 static/api/cpp/4.2.x/functions_func_p.html         |   91 +
 static/api/cpp/4.2.x/functions_func_r.html         |   94 +
 static/api/cpp/4.2.x/functions_func_s.html         |  202 ++
 static/api/cpp/4.2.x/functions_func_t.html         |   87 +
 static/api/cpp/4.2.x/functions_func_u.html         |   89 +
 static/api/cpp/4.2.x/functions_func_~.html         |   87 +
 static/api/cpp/4.2.x/functions_g.html              |  224 ++
 static/api/cpp/4.2.x/functions_h.html              |   99 +
 static/api/cpp/4.2.x/functions_i.html              |  108 +
 static/api/cpp/4.2.x/functions_k.html              |   89 +
 static/api/cpp/4.2.x/functions_l.html              |   89 +
 static/api/cpp/4.2.x/functions_m.html              |   89 +
 static/api/cpp/4.2.x/functions_n.html              |   87 +
 static/api/cpp/4.2.x/functions_o.html              |   91 +
 static/api/cpp/4.2.x/functions_p.html              |   92 +
 static/api/cpp/4.2.x/functions_r.html              |   94 +
 static/api/cpp/4.2.x/functions_s.html              |  203 ++
 static/api/cpp/4.2.x/functions_t.html              |   87 +
 static/api/cpp/4.2.x/functions_u.html              |   89 +
 static/api/cpp/4.2.x/functions_w.html              |   87 +
 static/api/cpp/4.2.x/functions_~.html              |   87 +
 static/api/cpp/4.2.x/hierarchy.html                |  152 ++
 static/api/cpp/4.2.x/index.html                    |  167 ++
 static/api/cpp/4.2.x/jquery.js                     |  204 ++
 static/api/cpp/4.2.x/menu.js                       |  131 +
 static/api/cpp/4.2.x/menudata.js                   |  112 +
 static/api/cpp/4.2.x/message__id_8h_source.html    |  118 +
 .../api/cpp/4.2.x/message__router_8h_source.html   |  110 +
 static/api/cpp/4.2.x/messages_8h_source.html       |  111 +
 static/api/cpp/4.2.x/namespacemembers.html         |  216 ++
 static/api/cpp/4.2.x/namespacemembers_enum.html    |   90 +
 static/api/cpp/4.2.x/namespacemembers_eval.html    |  201 ++
 static/api/cpp/4.2.x/namespacemembers_func.html    |   85 +
 static/api/cpp/4.2.x/namespacemembers_type.html    |   88 +
 static/api/cpp/4.2.x/namespacepulsar.html          |  676 ++++++
 static/api/cpp/4.2.x/namespaces.html               |   90 +
 static/api/cpp/4.2.x/navtree.css                   |  327 +++
 static/api/cpp/4.2.x/pages.html                    |   90 +
 .../4.2.x/producer__configuration_8h_source.html   |  306 +++
 .../cpp/4.2.x/reader__configuration_8h_source.html |  153 ++
 static/api/cpp/4.2.x/search/all_0.js               |   24 +
 static/api/cpp/4.2.x/search/all_1.js               |   17 +
 static/api/cpp/4.2.x/search/all_10.js              |   62 +
 static/api/cpp/4.2.x/search/all_11.js              |  126 +
 static/api/cpp/4.2.x/search/all_12.js              |   10 +
 static/api/cpp/4.2.x/search/all_13.js              |    6 +
 static/api/cpp/4.2.x/search/all_14.js              |    4 +
 static/api/cpp/4.2.x/search/all_15.js              |    4 +
 static/api/cpp/4.2.x/search/all_2.js               |   34 +
 static/api/cpp/4.2.x/search/all_3.js               |   13 +
 static/api/cpp/4.2.x/search/all_4.js               |   11 +
 static/api/cpp/4.2.x/search/all_5.js               |   10 +
 static/api/cpp/4.2.x/search/all_6.js               |  141 ++
 static/api/cpp/4.2.x/search/all_7.js               |   16 +
 static/api/cpp/4.2.x/search/all_8.js               |   30 +
 static/api/cpp/4.2.x/search/all_9.js               |    4 +
 static/api/cpp/4.2.x/search/all_a.js               |   10 +
 static/api/cpp/4.2.x/search/all_b.js               |    9 +
 static/api/cpp/4.2.x/search/all_c.js               |   12 +
 static/api/cpp/4.2.x/search/all_d.js               |    6 +
 static/api/cpp/4.2.x/search/all_e.js               |   10 +
 static/api/cpp/4.2.x/search/all_f.js               |   19 +
 static/api/cpp/4.2.x/search/classes_0.js           |   12 +
 static/api/cpp/4.2.x/search/classes_1.js           |    6 +
 static/api/cpp/4.2.x/search/classes_2.js           |   13 +
 static/api/cpp/4.2.x/search/classes_3.js           |    7 +
 static/api/cpp/4.2.x/search/classes_4.js           |    7 +
 static/api/cpp/4.2.x/search/classes_5.js           |    4 +
 static/api/cpp/4.2.x/search/classes_6.js           |    5 +
 static/api/cpp/4.2.x/search/classes_7.js           |    5 +
 static/api/cpp/4.2.x/search/classes_8.js           |    9 +
 static/api/cpp/4.2.x/search/classes_9.js           |    5 +
 static/api/cpp/4.2.x/search/classes_a.js           |    9 +
 static/api/cpp/4.2.x/search/classes_b.js           |    5 +
 static/api/cpp/4.2.x/search/classes_c.js           |    6 +
 static/api/cpp/4.2.x/search/classes_d.js           |   10 +
 static/api/cpp/4.2.x/search/enums_0.js             |    4 +
 static/api/cpp/4.2.x/search/enums_1.js             |    4 +
 static/api/cpp/4.2.x/search/enums_2.js             |    5 +
 static/api/cpp/4.2.x/search/enums_3.js             |    4 +
 static/api/cpp/4.2.x/search/enums_4.js             |    5 +
 static/api/cpp/4.2.x/search/enums_5.js             |    4 +
 static/api/cpp/4.2.x/search/enumvalues_0.js        |    8 +
 static/api/cpp/4.2.x/search/enumvalues_1.js        |    4 +
 static/api/cpp/4.2.x/search/enumvalues_2.js        |    7 +
 static/api/cpp/4.2.x/search/enumvalues_3.js        |    5 +
 static/api/cpp/4.2.x/search/enumvalues_4.js        |    5 +
 static/api/cpp/4.2.x/search/enumvalues_5.js        |    4 +
 static/api/cpp/4.2.x/search/enumvalues_6.js        |    8 +
 static/api/cpp/4.2.x/search/enumvalues_7.js        |    4 +
 static/api/cpp/4.2.x/search/enumvalues_8.js        |    5 +
 static/api/cpp/4.2.x/search/enumvalues_9.js        |    5 +
 static/api/cpp/4.2.x/search/enumvalues_a.js        |    6 +
 static/api/cpp/4.2.x/search/enumvalues_b.js        |   49 +
 static/api/cpp/4.2.x/search/enumvalues_c.js        |    7 +
 static/api/cpp/4.2.x/search/enumvalues_d.js        |    4 +
 static/api/cpp/4.2.x/search/functions_0.js         |   10 +
 static/api/cpp/4.2.x/search/functions_1.js         |   13 +
 static/api/cpp/4.2.x/search/functions_10.js        |  119 +
 static/api/cpp/4.2.x/search/functions_11.js        |    4 +
 static/api/cpp/4.2.x/search/functions_12.js        |    6 +
 static/api/cpp/4.2.x/search/functions_13.js        |    4 +
 static/api/cpp/4.2.x/search/functions_2.js         |   19 +
 static/api/cpp/4.2.x/search/functions_3.js         |    7 +
 static/api/cpp/4.2.x/search/functions_4.js         |    7 +
 static/api/cpp/4.2.x/search/functions_5.js         |    9 +
 static/api/cpp/4.2.x/search/functions_6.js         |  141 ++
 static/api/cpp/4.2.x/search/functions_7.js         |   16 +
 static/api/cpp/4.2.x/search/functions_8.js         |   25 +
 static/api/cpp/4.2.x/search/functions_9.js         |    5 +
 static/api/cpp/4.2.x/search/functions_a.js         |    6 +
 static/api/cpp/4.2.x/search/functions_b.js         |    6 +
 static/api/cpp/4.2.x/search/functions_c.js         |    4 +
 static/api/cpp/4.2.x/search/functions_d.js         |    8 +
 static/api/cpp/4.2.x/search/functions_e.js         |    8 +
 static/api/cpp/4.2.x/search/functions_f.js         |   11 +
 static/api/cpp/4.2.x/search/namespaces_0.js        |    4 +
 static/api/cpp/4.2.x/search/pages_0.js             |    5 +
 static/api/cpp/4.2.x/search/pages_1.js             |    4 +
 static/api/cpp/4.2.x/search/pages_2.js             |    4 +
 static/api/cpp/4.2.x/search/pages_3.js             |    4 +
 static/api/cpp/4.2.x/search/search.css             |  378 +++
 static/api/cpp/4.2.x/search/search.js              |  708 ++++++
 static/api/cpp/4.2.x/search/searchdata.js          |   36 +
 static/api/cpp/4.2.x/search/typedefs_0.js          |    5 +
 static/api/cpp/4.2.x/search/typedefs_1.js          |    5 +
 static/api/cpp/4.2.x/string__list_8h_source.html   |  113 +
 static/api/cpp/4.2.x/string__map_8h_source.html    |  116 +
 ...1_auto_cluster_failover_1_1_config-members.html |   98 +
 ...ulsar_1_1_auto_cluster_failover_1_1_config.html |  115 +
 .../structpulsar_1_1_encryption_key-members.html   |   96 +
 .../cpp/4.2.x/structpulsar_1_1_encryption_key.html |  111 +
 .../cpp/4.2.x/structpulsar_1_1_error-members.html  |   94 +
 static/api/cpp/4.2.x/structpulsar_1_1_error.html   |  103 +
 ...ulsar_1_1_table_view_configuration-members.html |   94 +
 .../structpulsar_1_1_table_view_configuration.html |  103 +
 .../structpulsar_1_1_topic_regex-members.html      |   94 +
 .../cpp/4.2.x/structpulsar_1_1_topic_regex.html    |  111 +
 ...onsumer__batch__receive__policy__t-members.html |   91 +
 ...ulsar__consumer__batch__receive__policy__t.html |  101 +
 ...r__config__dead__letter__policy__t-members.html |   91 +
 ..._consumer__config__dead__letter__policy__t.html |  101 +
 .../cpp/4.2.x/structpulsar__logger__t-members.html |   91 +
 static/api/cpp/4.2.x/structpulsar__logger__t.html  |  101 +
 static/api/cpp/4.2.x/table__view_8h_source.html    |  134 ++
 .../table__view__configuration_8h_source.html      |  120 +
 static/api/cpp/4.2.x/tabs.css                      |    1 +
 static/api/cpp/4.2.x/version_8h_source.html        |   94 +
 367 files changed, 52312 insertions(+)

diff --git a/static/api/cpp/4.2.x/_authentication_8h_source.html b/static/api/cpp/4.2.x/_authentication_8h_source.html
new file mode 100644
index 00000000000..2f156627c5e
--- /dev/null
+++ b/static/api/cpp/4.2.x/_authentication_8h_source.html
@@ -0,0 +1,425 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Authentication.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Authentication.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_AUTHENTICATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_AUTHENTICATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="foldopen" id="foldopen00031" data-start="{" data-end="}">
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="namespacepulsar.html">   31</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a>;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="foldopen" id="foldopen00036" data-start="{" data-end="};">
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html">   36</a></span><span class="keyword">class </span>PULSAR_PUBLIC AuthenticationDataProvider {</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keyword">virtual</span> ~AuthenticationDataProvider();</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#af500b208a36e4849bd9ee1f6c48eb60e">   43</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#af500b208a36e4849bd9ee1f6c48eb60e">hasDataForTls</a>();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#af2694d6a80dfe8af67c16ef45f3e9645">   48</a></span>    <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#af2694d6a80dfe8af67c16ef45f3e9645">getTlsCertificates</a>();</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#a8a86f5d276fafcc7f35bc49a365be9f8">   53</a></span>    <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#a8a86f5d276fafcc7f35bc49a365be9f8">getTlsPrivateKey</a>();</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#afbe3f1d0356a5d362bffc7f8253bf631">   58</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#afbe3f1d0356a5d362bffc7f8253bf631">hasDataForHttp</a>();</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#ab201bbb1a90f3d4ca580bec9021d9d53">   63</a></span>    <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#ab201bbb1a90f3d4ca580bec9021d9d53">getHttpAuthType</a>();</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#a90657a3943e3baed5dc5d469e8c64d2a">   68</a></span>    <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#a90657a3943e3baed5dc5d469e8c64d2a">getHttpHeaders</a>();</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#a1ad6773dcb324d73d6fe6aaa01927e67">   73</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#a1ad6773dcb324d73d6fe6aaa01927e67">hasDataFromCommand</a>();</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication_data_provider.html#a1ea19f94ab4b5479022a1df0f566668d">   78</a></span>    <span class="keyword">virtual</span> std::string <a class="code hl_function" href="classpulsar_1_1_authentication_data_provider.html#a1ea19f94ab4b5479022a1df0f566668d">getCommandData</a>();</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>    AuthenticationDataProvider();</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>};</div>
+</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="keyword">typedef</span> std::shared_ptr&lt;AuthenticationDataProvider&gt; AuthenticationDataPtr;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="keyword">typedef</span> std::shared_ptr&lt;Authentication&gt; AuthenticationPtr;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; ParamMap;</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="foldopen" id="foldopen00088" data-start="{" data-end="};">
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication.html">   88</a></span><span class="keyword">class </span>PULSAR_PUBLIC Authentication {</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    <span class="keyword">virtual</span> ~Authentication();</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">   95</a></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">getAuthMethodName</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span></div>
+<div class="foldopen" id="foldopen00104" data-start="{" data-end="}">
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">  104</a></span>    <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">getAuthData</a>(AuthenticationDataPtr&amp; authDataContent) {</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>        authDataContent = authData_;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f">ResultOk</a>;</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>    }</div>
+</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">  120</a></span>    <span class="keyword">static</span> ParamMap <a class="code hl_function" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">parseDefaultFormatAuthParams</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    Authentication();</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    AuthenticationDataPtr authData_;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientConfiguration;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>};</div>
+</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span></div>
+<div class="foldopen" id="foldopen00136" data-start="{" data-end="};">
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html">  136</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_auth_factory.html">AuthFactory</a> {</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>    <span class="keyword">static</span> AuthenticationPtr Disabled();</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span></div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html#a551395eda623d3454c758c3479423ce3">  145</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_factory.html#a551395eda623d3454c758c3479423ce3">create</a>(<span class="keyword">const</span> std::string&amp; pluginNameOrDynamicLibPath);</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span></div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html#af84e99a6be262145d928e599946ab82d">  153</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_factory.html#af84e99a6be262145d928e599946ab82d">create</a>(<span class="keyword">const</span> std::string&amp; pluginNameOrDynamicLibPath,</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>                                    <span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span></div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html#a644b858e4a59482ecce5d1782bd4b452">  172</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_factory.html#a644b858e4a59482ecce5d1782bd4b452">create</a>(<span class="keyword">const</span> std::string&amp; pluginNameOrDynamicLibPath, ParamMap&amp; params);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    <span class="keyword">static</span> <span class="keywordtype">bool</span> isShutdownHookRegistered_;</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>    <span class="keyword">static</span> std::vector&lt;void*&gt; loadedLibrariesHandles_;</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>    <span class="keyword">static</span> <span class="keywordtype">void</span> release_handles();</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>};</div>
+</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span></div>
+<div class="foldopen" id="foldopen00183" data-start="{" data-end="};">
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html">  183</a></span><span class="keyword">class </span>PULSAR_PUBLIC AuthTls : <span class="keyword">public</span> Authentication {</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>    AuthTls(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>    ~AuthTls();</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span></div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#a3a2603a8be94cdde4845c941dc8871cc">  194</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#a3a2603a8be94cdde4845c941dc8871cc">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#a19312c7b58d94aa05927ee33922731de">  201</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#a19312c7b58d94aa05927ee33922731de">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#ac32274cb7d7095cfcd35fcebcf277d5b">  209</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#ac32274cb7d7095cfcd35fcebcf277d5b">create</a>(<span class="keyword">const</span> std::string&amp; certificatePath, <span class="keyword">const</span> std::string&amp; privateKeyPath);</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span></div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#a2c87f86950aa979f666896e7a5f79398">  214</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#a2c87f86950aa979f666896e7a5f79398">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#ae88d06f62a47e92e7c52e74df3cacb56">  223</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#ae88d06f62a47e92e7c52e74df3cacb56">getAuthData</a>(AuthenticationDataPtr&amp; authDataTls);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>    AuthenticationDataPtr authDataTls_;</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>};</div>
+</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span><span class="keyword">typedef</span> std::function&lt;std::string()&gt; TokenSupplier;</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span></div>
+<div class="foldopen" id="foldopen00234" data-start="{" data-end="};">
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html">  234</a></span><span class="keyword">class </span>PULSAR_PUBLIC AuthToken : <span class="keyword">public</span> Authentication {</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>    AuthToken(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    ~AuthToken();</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span></div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#aa4d3740c838620765a7332bf2247b5e9">  254</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#aa4d3740c838620765a7332bf2247b5e9">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span></div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a9601a01bd5b7b644531d82fc3cfa7d09">  261</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a9601a01bd5b7b644531d82fc3cfa7d09">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span></div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a80911f1374df425fdb76f066dfe7ebd9">  269</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a80911f1374df425fdb76f066dfe7ebd9">createWithToken</a>(<span class="keyword">const</span> std::string&amp; token);</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span></div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#ae9b2da50ad0c22335b298d939239602c">  277</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#ae9b2da50ad0c22335b298d939239602c">create</a>(<span class="keyword">const</span> TokenSupplier&amp; tokenSupplier);</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span></div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a0d1bf202c18b9131be315b166b4b1caa">  282</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a0d1bf202c18b9131be315b166b4b1caa">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span></div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a212a8af7680f196e4fba4e0152e6d0a5">  291</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a212a8af7680f196e4fba4e0152e6d0a5">getAuthData</a>(AuthenticationDataPtr&amp; authDataToken);</div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>    AuthenticationDataPtr authDataToken_;</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>};</div>
+</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span></div>
+<div class="foldopen" id="foldopen00300" data-start="{" data-end="};">
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html">  300</a></span><span class="keyword">class </span>PULSAR_PUBLIC AuthBasic : <span class="keyword">public</span> Authentication {</div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>    <span class="keyword">explicit</span> AuthBasic(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>    ~AuthBasic() <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span></div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">  311</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span></div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">  318</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span></div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">  323</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">create</a>(<span class="keyword">const</span> std::string&amp; username, <span class="keyword">const</span> std::string&amp; password);</div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span></div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">  328</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">create</a>(<span class="keyword">const</span> std::string&amp; username, <span class="keyword">const</span> std::string&amp; password,</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span>                                    <span class="keyword">const</span> std::string&amp; method);</div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span></div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">  334</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">getAuthMethodName</a>() <span class="keyword">const override</span>;</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span></div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">  343</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">getAuthData</a>(AuthenticationDataPtr&amp; authDataBasic) <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span>    AuthenticationDataPtr authDataBasic_;</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span>};</div>
+</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span></div>
+<div class="foldopen" id="foldopen00352" data-start="{" data-end="};">
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html">  352</a></span><span class="keyword">class </span>PULSAR_PUBLIC AuthAthenz : <span class="keyword">public</span> Authentication {</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>    AuthAthenz(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span>    ~AuthAthenz();</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">  366</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span></div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">  373</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span></div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">  378</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span></div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">  387</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">getAuthData</a>(AuthenticationDataPtr&amp; authDataAthenz);</div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span>    AuthenticationDataPtr authDataAthenz_;</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>};</div>
+</div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span><span class="comment">// OAuth 2.0 token and associated information.</span></div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span><span class="comment">// currently mainly works for access token</span></div>
+<div class="foldopen" id="foldopen00395" data-start="{" data-end="};">
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html">  395</a></span><span class="keyword">class </span>Oauth2TokenResult {</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span>    <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> undefined_expiration = -1;</div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span> </div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>    Oauth2TokenResult();</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span>    ~Oauth2TokenResult();</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span></div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">  407</a></span>    Oauth2TokenResult&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">setAccessToken</a>(<span class="keyword">const</span> std::string&amp; accessToken);</div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span></div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">  414</a></span>    Oauth2TokenResult&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">setIdToken</a>(<span class="keyword">const</span> std::string&amp; idToken);</div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span></div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">  422</a></span>    Oauth2TokenResult&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">setRefreshToken</a>(<span class="keyword">const</span> std::string&amp; refreshToken);</div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span></div>
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#aa27ab0a802260bbf7142e03fd6c8bb46">  429</a></span>    Oauth2TokenResult&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#aa27ab0a802260bbf7142e03fd6c8bb46">setExpiresIn</a>(<span class="keyword">const</span> int64_t expiresIn);</div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span></div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a41359aec5371cbcea46cad38e02e28b4">  434</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a41359aec5371cbcea46cad38e02e28b4">getAccessToken</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span></div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#ad04cbc8f2c1980d7603b13bdac2359e7">  439</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#ad04cbc8f2c1980d7603b13bdac2359e7">getIdToken</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span></div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#ab3f6c44eaa2f4eed65e98fdfa2e3cd95">  445</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#ab3f6c44eaa2f4eed65e98fdfa2e3cd95">getRefreshToken</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span></div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a3fe9ca08aada6022f2977051420eea77">  450</a></span>    int64_t <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a3fe9ca08aada6022f2977051420eea77">getExpiresIn</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  453</span>    <span class="comment">// map to json &quot;access_token&quot;</span></div>
+<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span>    std::string accessToken_;</div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  455</span>    <span class="comment">// map to json &quot;id_token&quot;</span></div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  456</span>    std::string idToken_;</div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span>    <span class="comment">// map to json &quot;refresh_token&quot;</span></div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  458</span>    std::string refreshToken_;</div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span>    <span class="comment">// map to json &quot;expires_in&quot;</span></div>
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span>    int64_t expiresIn_;</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span>};</div>
+</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span> </div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span><span class="keyword">typedef</span> std::shared_ptr&lt;Oauth2TokenResult&gt; Oauth2TokenResultPtr;</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="foldopen" id="foldopen00465" data-start="{" data-end="};">
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html">  465</a></span><span class="keyword">class </span>Oauth2Flow {</div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span>    <span class="keyword">virtual</span> ~Oauth2Flow();</div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span></div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html#a2d9a138289565a4e07aded8fffdcb96e">  472</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_oauth2_flow.html#a2d9a138289565a4e07aded8fffdcb96e">initialize</a>() = 0;</div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span></div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html#a26ba112e97d9ce0283adaa9213f848ac">  478</a></span>    <span class="keyword">virtual</span> Oauth2TokenResultPtr <a class="code hl_function" href="classpulsar_1_1_oauth2_flow.html#a26ba112e97d9ce0283adaa9213f848ac">authenticate</a>() = 0;</div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span></div>
+<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html#ae4815e1adf8cced8553f9e3d6d6717a8">  483</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_oauth2_flow.html#ae4815e1adf8cced8553f9e3d6d6717a8">close</a>() = 0;</div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  484</span> </div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span>    Oauth2Flow();</div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span>};</div>
+</div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  489</span><span class="keyword">typedef</span> std::shared_ptr&lt;Oauth2Flow&gt; FlowPtr;</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span> </div>
+<div class="foldopen" id="foldopen00491" data-start="{" data-end="};">
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="classpulsar_1_1_cached_token.html">  491</a></span><span class="keyword">class </span>CachedToken {</div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span>    <span class="keyword">virtual</span> ~CachedToken();</div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span></div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"><a class="line" href="classpulsar_1_1_cached_token.html#a2fe69f2fb7037139b52f9c66a0af05f2">  498</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_cached_token.html#a2fe69f2fb7037139b52f9c66a0af05f2">isExpired</a>() = 0;</div>
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span></div>
+<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"><a class="line" href="classpulsar_1_1_cached_token.html#a6e249f44ae21288c7365d1baece3da5d">  505</a></span>    <span class="keyword">virtual</span> AuthenticationDataPtr <a class="code hl_function" href="classpulsar_1_1_cached_token.html#a6e249f44ae21288c7365d1baece3da5d">getAuthData</a>() = 0;</div>
+<div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</span> </div>
+<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span>    CachedToken();</div>
+<div class="line"><a id="l00509" name="l00509"></a><span class="lineno">  509</span>};</div>
+</div>
+<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span> </div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno">  511</span><span class="keyword">typedef</span> std::shared_ptr&lt;CachedToken&gt; CachedTokenPtr;</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span></div>
+<div class="foldopen" id="foldopen00536" data-start="{" data-end="};">
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html">  536</a></span><span class="keyword">class </span>PULSAR_PUBLIC AuthOauth2 : <span class="keyword">public</span> Authentication {</div>
+<div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00538" name="l00538"></a><span class="lineno">  538</span>    AuthOauth2(ParamMap&amp; params);</div>
+<div class="line"><a id="l00539" name="l00539"></a><span class="lineno">  539</span>    ~AuthOauth2();</div>
+<div class="line"><a id="l00540" name="l00540"></a><span class="lineno">  540</span></div>
+<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#a7bb0d842b22b59036587b22da2447377">  556</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#a7bb0d842b22b59036587b22da2447377">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00557" name="l00557"></a><span class="lineno">  557</span></div>
+<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#aca6ec2237b43187d8001a5b79a2f11e4">  563</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#aca6ec2237b43187d8001a5b79a2f11e4">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span></div>
+<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#ac71578130863f59cb02fe1aefa9d70f6">  568</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#ac71578130863f59cb02fe1aefa9d70f6">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00569" name="l00569"></a><span class="lineno">  569</span></div>
+<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#adcf1f8cac446270ee6aa0a0ad156842e">  577</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#adcf1f8cac446270ee6aa0a0ad156842e">getAuthData</a>(AuthenticationDataPtr&amp; authDataOauth2);</div>
+<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span> </div>
+<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span>    FlowPtr flowPtr_;</div>
+<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span>    CachedTokenPtr cachedTokenPtr_;</div>
+<div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span>};</div>
+</div>
+<div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span> </div>
+<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span>}  <span class="comment">// namespace pulsar</span></div>
+</div>
+<div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span> </div>
+<div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_AUTHENTICATION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_a274c9e677c536166fd1d4f8af6161546"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">pulsar::AuthAthenz::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataAthenz)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_a65405a1cfd2ec3efcaeea3ed8269fa47"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">pulsar::AuthAthenz::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_acde69fc41668a27d12d558023aaed0d9"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">pulsar::AuthAthenz::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_afd40a525e1d8d61fc97880c2c8a958fe"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">pulsar::AuthAthenz::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_a7b1ccda07ff0a22a705159e27149f3d4"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">pulsar::AuthBasic::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataBasic) override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_a86ce78ef0606d5642f110dc4ec8c6f67"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;username, const std::string &amp;password)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_ac85c75b0d48375423cbb5c1421529c46"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;username, const std::string &amp;password, const std::string &amp;method)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_ac9f7f369e4559f0aa108708355dcaaec"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_ad9d2d1d47a1f1d82fee3522ea5991c3b"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">pulsar::AuthBasic::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_aee17b2ca84965dfe8b3d9296dd397400"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html">pulsar::AuthFactory</a></div><div class="ttdef"><b>Definition</b> Authentication.h:136</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html_a551395eda623d3454c758c3479423ce3"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html#a551395eda623d3454c758c3479423ce3">pulsar::AuthFactory::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;pluginNameOrDynamicLibPath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html_a644b858e4a59482ecce5d1782bd4b452"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html#a644b858e4a59482ecce5d1782bd4b452">pulsar::AuthFactory::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;pluginNameOrDynamicLibPath, ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html_af84e99a6be262145d928e599946ab82d"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html#af84e99a6be262145d928e599946ab82d">pulsar::AuthFactory::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;pluginNameOrDynamicLibPath, const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_a7bb0d842b22b59036587b22da2447377"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#a7bb0d842b22b59036587b22da2447377">pulsar::AuthOauth2::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_ac71578130863f59cb02fe1aefa9d70f6"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#ac71578130863f59cb02fe1aefa9d70f6">pulsar::AuthOauth2::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_aca6ec2237b43187d8001a5b79a2f11e4"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#aca6ec2237b43187d8001a5b79a2f11e4">pulsar::AuthOauth2::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_adcf1f8cac446270ee6aa0a0ad156842e"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#adcf1f8cac446270ee6aa0a0ad156842e">pulsar::AuthOauth2::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataOauth2)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_a19312c7b58d94aa05927ee33922731de"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#a19312c7b58d94aa05927ee33922731de">pulsar::AuthTls::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_a2c87f86950aa979f666896e7a5f79398"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#a2c87f86950aa979f666896e7a5f79398">pulsar::AuthTls::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_a3a2603a8be94cdde4845c941dc8871cc"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#a3a2603a8be94cdde4845c941dc8871cc">pulsar::AuthTls::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_ac32274cb7d7095cfcd35fcebcf277d5b"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#ac32274cb7d7095cfcd35fcebcf277d5b">pulsar::AuthTls::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;certificatePath, const std::string &amp;privateKeyPath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_ae88d06f62a47e92e7c52e74df3cacb56"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#ae88d06f62a47e92e7c52e74df3cacb56">pulsar::AuthTls::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataTls)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a0d1bf202c18b9131be315b166b4b1caa"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a0d1bf202c18b9131be315b166b4b1caa">pulsar::AuthToken::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a212a8af7680f196e4fba4e0152e6d0a5"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a212a8af7680f196e4fba4e0152e6d0a5">pulsar::AuthToken::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataToken)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a80911f1374df425fdb76f066dfe7ebd9"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a80911f1374df425fdb76f066dfe7ebd9">pulsar::AuthToken::createWithToken</a></div><div class="ttdeci">static AuthenticationPtr createWithToken(const std::string &amp;token)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a9601a01bd5b7b644531d82fc3cfa7d09"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a9601a01bd5b7b644531d82fc3cfa7d09">pulsar::AuthToken::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_aa4d3740c838620765a7332bf2247b5e9"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#aa4d3740c838620765a7332bf2247b5e9">pulsar::AuthToken::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_ae9b2da50ad0c22335b298d939239602c"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#ae9b2da50ad0c22335b298d939239602c">pulsar::AuthToken::create</a></div><div class="ttdeci">static AuthenticationPtr create(const TokenSupplier &amp;tokenSupplier)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a1ad6773dcb324d73d6fe6aaa01927e67"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a1ad6773dcb324d73d6fe6aaa01927e67">pulsar::AuthenticationDataProvider::hasDataFromCommand</a></div><div class="ttdeci">virtual bool hasDataFromCommand()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a1ea19f94ab4b5479022a1df0f566668d"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a1ea19f94ab4b5479022a1df0f566668d">pulsar::AuthenticationDataProvider::getCommandData</a></div><div class="ttdeci">virtual std::string getCommandData()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a8a86f5d276fafcc7f35bc49a365be9f8"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a8a86f5d276fafcc7f35bc49a365be9f8">pulsar::AuthenticationDataProvider::getTlsPrivateKey</a></div><div class="ttdeci">virtual std::string getTlsPrivateKey()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a90657a3943e3baed5dc5d469e8c64d2a"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a90657a3943e3baed5dc5d469e8c64d2a">pulsar::AuthenticationDataProvider::getHttpHeaders</a></div><div class="ttdeci">virtual std::string getHttpHeaders()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_ab201bbb1a90f3d4ca580bec9021d9d53"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#ab201bbb1a90f3d4ca580bec9021d9d53">pulsar::AuthenticationDataProvider::getHttpAuthType</a></div><div class="ttdeci">virtual std::string getHttpAuthType()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_af2694d6a80dfe8af67c16ef45f3e9645"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#af2694d6a80dfe8af67c16ef45f3e9645">pulsar::AuthenticationDataProvider::getTlsCertificates</a></div><div class="ttdeci">virtual std::string getTlsCertificates()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_af500b208a36e4849bd9ee1f6c48eb60e"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#af500b208a36e4849bd9ee1f6c48eb60e">pulsar::AuthenticationDataProvider::hasDataForTls</a></div><div class="ttdeci">virtual bool hasDataForTls()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_afbe3f1d0356a5d362bffc7f8253bf631"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#afbe3f1d0356a5d362bffc7f8253bf631">pulsar::AuthenticationDataProvider::hasDataForHttp</a></div><div class="ttdeci">virtual bool hasDataForHttp()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html"><div class="ttname"><a href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></div><div class="ttdef"><b>Definition</b> Authentication.h:88</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html_a0ff47251bd4184cd0e9155e76a5c35bb"><div class="ttname"><a href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">pulsar::Authentication::parseDefaultFormatAuthParams</a></div><div class="ttdeci">static ParamMap parseDefaultFormatAuthParams(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html_a14811c36fc300cfa7769f7ee96018688"><div class="ttname"><a href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">pulsar::Authentication::getAuthData</a></div><div class="ttdeci">virtual Result getAuthData(AuthenticationDataPtr &amp;authDataContent)</div><div class="ttdef"><b>Definition</b> Authentication.h:104</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html_aafe5c68d220ae0926a2c66953eafed57"><div class="ttname"><a href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">pulsar::Authentication::getAuthMethodName</a></div><div class="ttdeci">virtual const std::string getAuthMethodName() const =0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_cached_token_html_a2fe69f2fb7037139b52f9c66a0af05f2"><div class="ttname"><a href="classpulsar_1_1_cached_token.html#a2fe69f2fb7037139b52f9c66a0af05f2">pulsar::CachedToken::isExpired</a></div><div class="ttdeci">virtual bool isExpired()=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_cached_token_html_a6e249f44ae21288c7365d1baece3da5d"><div class="ttname"><a href="classpulsar_1_1_cached_token.html#a6e249f44ae21288c7365d1baece3da5d">pulsar::CachedToken::getAuthData</a></div><div class="ttdeci">virtual AuthenticationDataPtr getAuthData()=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html">pulsar::ClientConfiguration</a></div><div class="ttdef"><b>Definition</b> ClientConfiguration.h:31</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_flow_html_a26ba112e97d9ce0283adaa9213f848ac"><div class="ttname"><a href="classpulsar_1_1_oauth2_flow.html#a26ba112e97d9ce0283adaa9213f848ac">pulsar::Oauth2Flow::authenticate</a></div><div class="ttdeci">virtual Oauth2TokenResultPtr authenticate()=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_flow_html_a2d9a138289565a4e07aded8fffdcb96e"><div class="ttname"><a href="classpulsar_1_1_oauth2_flow.html#a2d9a138289565a4e07aded8fffdcb96e">pulsar::Oauth2Flow::initialize</a></div><div class="ttdeci">virtual void initialize()=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_flow_html_ae4815e1adf8cced8553f9e3d6d6717a8"><div class="ttname"><a href="classpulsar_1_1_oauth2_flow.html#ae4815e1adf8cced8553f9e3d6d6717a8">pulsar::Oauth2Flow::close</a></div><div class="ttdeci">virtual void close()=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a3fe9ca08aada6022f2977051420eea77"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a3fe9ca08aada6022f2977051420eea77">pulsar::Oauth2TokenResult::getExpiresIn</a></div><div class="ttdeci">int64_t getExpiresIn() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a41359aec5371cbcea46cad38e02e28b4"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a41359aec5371cbcea46cad38e02e28b4">pulsar::Oauth2TokenResult::getAccessToken</a></div><div class="ttdeci">const std::string &amp; getAccessToken() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a87d8e7e923d1ca96d5c0425cf80d5d42"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">pulsar::Oauth2TokenResult::setRefreshToken</a></div><div class="ttdeci">Oauth2TokenResult &amp; setRefreshToken(const std::string &amp;refreshToken)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a9cdc37fbe7d61486affda02a753ff1dc"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">pulsar::Oauth2TokenResult::setIdToken</a></div><div class="ttdeci">Oauth2TokenResult &amp; setIdToken(const std::string &amp;idToken)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_aa27ab0a802260bbf7142e03fd6c8bb46"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#aa27ab0a802260bbf7142e03fd6c8bb46">pulsar::Oauth2TokenResult::setExpiresIn</a></div><div class="ttdeci">Oauth2TokenResult &amp; setExpiresIn(const int64_t expiresIn)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_ab3f6c44eaa2f4eed65e98fdfa2e3cd95"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#ab3f6c44eaa2f4eed65e98fdfa2e3cd95">pulsar::Oauth2TokenResult::getRefreshToken</a></div><div class="ttdeci">const std::string &amp; getRefreshToken() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_ad04cbc8f2c1980d7603b13bdac2359e7"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#ad04cbc8f2c1980d7603b13bdac2359e7">pulsar::Oauth2TokenResult::getIdToken</a></div><div class="ttdeci">const std::string &amp; getIdToken() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_af592ce6cc7e7633da3c03cfaa9f0876f"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">pulsar::Oauth2TokenResult::setAccessToken</a></div><div class="ttdeci">Oauth2TokenResult &amp; setAccessToken(const std::string &amp;accessToken)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f">pulsar::ResultOk</a></div><div class="ttdeci">@ ResultOk</div><div class="ttdoc">An internal error code used for retry.</div><div class="ttdef"><b>Definition</b> Result.h:37</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_auto_cluster_failover_8h_source.html b/static/api/cpp/4.2.x/_auto_cluster_failover_8h_source.html
new file mode 100644
index 00000000000..6eb424d30b2
--- /dev/null
+++ b/static/api/cpp/4.2.x/_auto_cluster_failover_8h_source.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/AutoClusterFailover.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">AutoClusterFailover.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_AUTO_CLUSTER_FAILOVER_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_AUTO_CLUSTER_FAILOVER_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ServiceInfoProvider.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;chrono&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_client.html">Client</a>;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">class </span>AutoClusterFailoverImpl;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auto_cluster_failover.html">   35</a></span><span class="keyword">class </span>PULSAR_PUBLIC AutoClusterFailover final : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00037" data-start="{" data-end="};">
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="structpulsar_1_1_auto_cluster_failover_1_1_config.html">   37</a></span>    <span class="keyword">struct </span>Config {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a> primary;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>        <span class="keyword">const</span> std::vector&lt;ServiceInfo&gt; secondary;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>        std::chrono::milliseconds checkInterval{5000};  <span class="comment">// 5 seconds</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>        uint32_t failoverThreshold{1};</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>        uint32_t switchBackThreshold{1};</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>        Config(<a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a> primary, std::vector&lt;ServiceInfo&gt; secondary)</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>            : primary(std::move(primary)), secondary(std::move(secondary)) {}</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    };</div>
+</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="foldopen" id="foldopen00071" data-start="{" data-end="};">
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auto_cluster_failover_1_1_builder.html">   71</a></span>    <span class="keyword">class </span>Builder {</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>       <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>        Builder(<a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a> primary, std::vector&lt;ServiceInfo&gt; secondary)</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>            : config_(std::move(primary), std::move(secondary)) {}</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>        <span class="comment">// Set how frequently probes run against the active cluster(s). Default: 5 seconds.</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>        Builder&amp; withCheckInterval(std::chrono::milliseconds interval) {</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>            config_.checkInterval = interval;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>        }</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>        <span class="comment">// Set the number of consecutive failed probes required before attempting failover. Default: 1.</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>        Builder&amp; withFailoverThreshold(uint32_t threshold) {</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>            config_.failoverThreshold = threshold;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>        }</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>        <span class="comment">// Set the number of consecutive successful primary probes required before switching back from a</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>        <span class="comment">// healthy secondary. If the active secondary becomes unavailable and the primary is available,</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>        <span class="comment">// the implementation may switch back immediately regardless of this threshold. Default: 1.</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>        Builder&amp; withSwitchBackThreshold(uint32_t threshold) {</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>            config_.switchBackThreshold = threshold;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>        }</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>        AutoClusterFailover build() { <span class="keywordflow">return</span> AutoClusterFailover(std::move(config_)); }</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span> </div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>       <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>        <a class="code hl_struct" href="structpulsar_1_1_auto_cluster_failover_1_1_config.html">Config</a> config_;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>    };</div>
+</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <span class="keyword">explicit</span> AutoClusterFailover(<a class="code hl_struct" href="structpulsar_1_1_auto_cluster_failover_1_1_config.html">Config</a>&amp;&amp; config);</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>    ~AutoClusterFailover() final;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auto_cluster_failover.html#ab972b29877b1a938b48f105e92860723">  106</a></span>    <a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a> <a class="code hl_function" href="classpulsar_1_1_auto_cluster_failover.html#ab972b29877b1a938b48f105e92860723">initialServiceInfo</a>() final;</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auto_cluster_failover.html#a7c379cc0339b45c2562788c9df9767e0">  108</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_auto_cluster_failover.html#a7c379cc0339b45c2562788c9df9767e0">initialize</a>(std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a [...]
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>   private:</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>    std::shared_ptr&lt;AutoClusterFailoverImpl&gt; impl_;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>};</div>
+</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasspulsar_1_1_auto_cluster_failover_html_a7c379cc0339b45c2562788c9df9767e0"><div class="ttname"><a href="classpulsar_1_1_auto_cluster_failover.html#a7c379cc0339b45c2562788c9df9767e0">pulsar::AutoClusterFailover::initialize</a></div><div class="ttdeci">void initialize(std::function&lt; void(ServiceInfo)&gt; onServiceInfoUpdate) final</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auto_cluster_failover_html_ab972b29877b1a938b48f105e92860723"><div class="ttname"><a href="classpulsar_1_1_auto_cluster_failover.html#ab972b29877b1a938b48f105e92860723">pulsar::AutoClusterFailover::initialServiceInfo</a></div><div class="ttdeci">ServiceInfo initialServiceInfo() final</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html"><div class="ttname"><a href="classpulsar_1_1_client.html">pulsar::Client</a></div><div class="ttdef"><b>Definition</b> Client.h:72</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_html"><div class="ttname"><a href="classpulsar_1_1_service_info.html">pulsar::ServiceInfo</a></div><div class="ttdef"><b>Definition</b> ServiceInfo.h:33</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_provider_html"><div class="ttname"><a href="classpulsar_1_1_service_info_provider.html">pulsar::ServiceInfoProvider</a></div><div class="ttdef"><b>Definition</b> ServiceInfoProvider.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="astructpulsar_1_1_auto_cluster_failover_1_1_config_html"><div class="ttname"><a href="structpulsar_1_1_auto_cluster_failover_1_1_config.html">pulsar::AutoClusterFailover::Config</a></div><div class="ttdef"><b>Definition</b> AutoClusterFailover.h:37</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_batch_receive_policy_8h_source.html b/static/api/cpp/4.2.x/_batch_receive_policy_8h_source.html
new file mode 100644
index 00000000000..c415df9efc9
--- /dev/null
+++ b/static/api/cpp/4.2.x/_batch_receive_policy_8h_source.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/BatchReceivePolicy.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">BatchReceivePolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef BATCH_RECEIVE_POLICY_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define BATCH_RECEIVE_POLICY_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">struct </span>BatchReceivePolicyImpl;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span></div>
+<div class="foldopen" id="foldopen00052" data-start="{" data-end="};">
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html">   52</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">BatchReceivePolicy</a> {</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">   57</a></span>    <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">BatchReceivePolicy</a>();</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#af991536bbae3de08b7d11ad3ad28f647">   66</a></span>    <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#af991536bbae3de08b7d11ad3ad28f647">BatchReceivePolicy</a>(<span class="keywordtype">int</span> maxNumMessage, <span class="keywordtype">long</span> maxNumBytes, <span class="keywordtype">long</span> timeoutMs);</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#acb75726b7e7a75dc65181bada30b9f31">   73</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#acb75726b7e7a75dc65181bada30b9f31">getTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#a079a3ecd654faeff462a673a4ba94940">   79</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a079a3ecd654faeff462a673a4ba94940">getMaxNumMessages</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#a81bf902bd62c003126aafb50a1ea7dea">   85</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a81bf902bd62c003126aafb50a1ea7dea">getMaxNumBytes</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    std::shared_ptr&lt;BatchReceivePolicyImpl&gt; impl_;</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>};</div>
+</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span><span class="preprocessor">#endif </span><span class="comment">/* BATCH_RECEIVE_POLICY_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_a079a3ecd654faeff462a673a4ba94940"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#a079a3ecd654faeff462a673a4ba94940">pulsar::BatchReceivePolicy::getMaxNumMessages</a></div><div class="ttdeci">int getMaxNumMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_a81bf902bd62c003126aafb50a1ea7dea"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#a81bf902bd62c003126aafb50a1ea7dea">pulsar::BatchReceivePolicy::getMaxNumBytes</a></div><div class="ttdeci">long getMaxNumBytes() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_a95e11e66f6e2a2ae0d842c39f15ebfe0"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">pulsar::BatchReceivePolicy::BatchReceivePolicy</a></div><div class="ttdeci">BatchReceivePolicy()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_acb75726b7e7a75dc65181bada30b9f31"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#acb75726b7e7a75dc65181bada30b9f31">pulsar::BatchReceivePolicy::getTimeoutMs</a></div><div class="ttdeci">long getTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_af991536bbae3de08b7d11ad3ad28f647"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#af991536bbae3de08b7d11ad3ad28f647">pulsar::BatchReceivePolicy::BatchReceivePolicy</a></div><div class="ttdeci">BatchReceivePolicy(int maxNumMessage, long maxNumBytes, long timeoutMs)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_broker_consumer_stats_8h_source.html b/static/api/cpp/4.2.x/_broker_consumer_stats_8h_source.html
new file mode 100644
index 00000000000..90068295c10
--- /dev/null
+++ b/static/api/cpp/4.2.x/_broker_consumer_stats_8h_source.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/BrokerConsumerStats.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">BrokerConsumerStats.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CPP_BROKERCONSUMERSTATS_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CPP_BROKERCONSUMERSTATS_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ConsumerType.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>BrokerConsumerStatsImplBase;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="comment">/* @note: isValid() or getXXX() methods are not allowed on an invalid BrokerConsumerStats */</span></div>
+<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html">   35</a></span><span class="keyword">class </span>PULSAR_PUBLIC BrokerConsumerStats {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    std::shared_ptr&lt;BrokerConsumerStatsImplBase&gt; impl_;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    BrokerConsumerStats() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>    <span class="keyword">explicit</span> BrokerConsumerStats(std::shared_ptr&lt;BrokerConsumerStatsImplBase&gt; impl);</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    <span class="keyword">virtual</span> ~BrokerConsumerStats() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a6ab876378e9c76098bd48ee9753faec0">   46</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a6ab876378e9c76098bd48ee9753faec0">isValid</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a09a325a6512dce27e33f8ddeac7a94ba">   49</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a09a325a6512dce27e33f8ddeac7a94ba">getMsgRateOut</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a9527c5b503ce7b96d14cc6bd1125bdb4">   52</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a9527c5b503ce7b96d14cc6bd1125bdb4">getMsgThroughputOut</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#af729bd5a41ddcdf9bfec48d512e3e272">   55</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#af729bd5a41ddcdf9bfec48d512e3e272">getMsgRateRedeliver</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a2c473d54fdb38abf2c19d655427185f4">   58</a></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a2c473d54fdb38abf2c19d655427185f4">getConsumerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a124a4228983be259fdcfa511814a3920">   61</a></span>    <span class="keyword">virtual</span> uint64_t <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a124a4228983be259fdcfa511814a3920">getAvailablePermits</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#aeaa33caf3a417444b631c6db711806f7">   64</a></span>    <span class="keyword">virtual</span> uint64_t <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#aeaa33caf3a417444b631c6db711806f7">getUnackedMessages</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#ae47fe1710c172b602bd346baf8791ed9">   67</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#ae47fe1710c172b602bd346baf8791ed9">isBlockedConsumerOnUnackedMsgs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a6b5567d414e4f82f59b97feb2e353d35">   70</a></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a6b5567d414e4f82f59b97feb2e353d35">getAddress</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a9b0459d295199b294c02f16bd388de04">   73</a></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a9b0459d295199b294c02f16bd388de04">getConnectedSince</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#ae1f1da70eab4c1436a40a2c5ab9c8d6a">   76</a></span>    <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">ConsumerType</a> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#ae1f1da70eab4c1436a40a2c5ab9c8d6a">getType</a>() <span class="keyword">const [...]
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#adee6895ac624d9fbab24f58f7f62859b">   79</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#adee6895ac624d9fbab24f58f7f62859b">getMsgRateExpired</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a55167beb17344517fedf88a2e86a3024">   82</a></span>    <span class="keyword">virtual</span> uint64_t <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a55167beb17344517fedf88a2e86a3024">getMsgBacklog</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a327a6687c6d5386a54e1a9ac4e027e9e">   85</a></span>    std::shared_ptr&lt;BrokerConsumerStatsImplBase&gt; <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a327a6687c6d5386a54e1a9ac4e027e9e">getImpl</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    <span class="keyword">friend</span> PULSAR_PUBLIC std::ostream &amp;operator&lt;&lt;(std::ostream &amp;os, <span class="keyword">const</span> BrokerConsumerStats &amp;obj);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>};</div>
+</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> brokerConsumerStats)&gt;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>    BrokerConsumerStatsCallback;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_BROKERCONSUMERSTATS_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html">pulsar::BrokerConsumerStats</a></div><div class="ttdef"><b>Definition</b> BrokerConsumerStats.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a09a325a6512dce27e33f8ddeac7a94ba"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a09a325a6512dce27e33f8ddeac7a94ba">pulsar::BrokerConsumerStats::getMsgRateOut</a></div><div class="ttdeci">virtual double getMsgRateOut() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a124a4228983be259fdcfa511814a3920"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a124a4228983be259fdcfa511814a3920">pulsar::BrokerConsumerStats::getAvailablePermits</a></div><div class="ttdeci">virtual uint64_t getAvailablePermits() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a2c473d54fdb38abf2c19d655427185f4"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a2c473d54fdb38abf2c19d655427185f4">pulsar::BrokerConsumerStats::getConsumerName</a></div><div class="ttdeci">virtual const std::string getConsumerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a327a6687c6d5386a54e1a9ac4e027e9e"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a327a6687c6d5386a54e1a9ac4e027e9e">pulsar::BrokerConsumerStats::getImpl</a></div><div class="ttdeci">std::shared_ptr&lt; BrokerConsumerStatsImplBase &gt; getImpl() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a55167beb17344517fedf88a2e86a3024"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a55167beb17344517fedf88a2e86a3024">pulsar::BrokerConsumerStats::getMsgBacklog</a></div><div class="ttdeci">virtual uint64_t getMsgBacklog() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a6ab876378e9c76098bd48ee9753faec0"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a6ab876378e9c76098bd48ee9753faec0">pulsar::BrokerConsumerStats::isValid</a></div><div class="ttdeci">virtual bool isValid() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a6b5567d414e4f82f59b97feb2e353d35"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a6b5567d414e4f82f59b97feb2e353d35">pulsar::BrokerConsumerStats::getAddress</a></div><div class="ttdeci">virtual const std::string getAddress() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a9527c5b503ce7b96d14cc6bd1125bdb4"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a9527c5b503ce7b96d14cc6bd1125bdb4">pulsar::BrokerConsumerStats::getMsgThroughputOut</a></div><div class="ttdeci">virtual double getMsgThroughputOut() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a9b0459d295199b294c02f16bd388de04"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a9b0459d295199b294c02f16bd388de04">pulsar::BrokerConsumerStats::getConnectedSince</a></div><div class="ttdeci">virtual const std::string getConnectedSince() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_adee6895ac624d9fbab24f58f7f62859b"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#adee6895ac624d9fbab24f58f7f62859b">pulsar::BrokerConsumerStats::getMsgRateExpired</a></div><div class="ttdeci">virtual double getMsgRateExpired() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_ae1f1da70eab4c1436a40a2c5ab9c8d6a"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#ae1f1da70eab4c1436a40a2c5ab9c8d6a">pulsar::BrokerConsumerStats::getType</a></div><div class="ttdeci">virtual ConsumerType getType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_ae47fe1710c172b602bd346baf8791ed9"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#ae47fe1710c172b602bd346baf8791ed9">pulsar::BrokerConsumerStats::isBlockedConsumerOnUnackedMsgs</a></div><div class="ttdeci">virtual bool isBlockedConsumerOnUnackedMsgs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_aeaa33caf3a417444b631c6db711806f7"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#aeaa33caf3a417444b631c6db711806f7">pulsar::BrokerConsumerStats::getUnackedMessages</a></div><div class="ttdeci">virtual uint64_t getUnackedMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_af729bd5a41ddcdf9bfec48d512e3e272"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#af729bd5a41ddcdf9bfec48d512e3e272">pulsar::BrokerConsumerStats::getMsgRateRedeliver</a></div><div class="ttdeci">virtual double getMsgRateRedeliver() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8e"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">pulsar::ConsumerType</a></div><div class="ttdeci">ConsumerType</div><div class="ttdef"><b>Definition</b> ConsumerType.h:26</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_client_8h_source.html b/static/api/cpp/4.2.x/_client_8h_source.html
new file mode 100644
index 00000000000..24f0c56ceae
--- /dev/null
+++ b/static/api/cpp/4.2.x/_client_8h_source.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Client.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Client.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CLIENT_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CLIENT_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ClientConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ConsoleLoggerFactory.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Consumer.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/FileLoggerFactory.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/MessageBuilder.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/Producer.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/Reader.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;pulsar/ServiceInfo.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;pulsar/ServiceInfoProvider.h&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#include &lt;pulsar/TableView.h&gt;</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#include &lt;utility&gt;</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#include &lt;variant&gt;</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <a class="code hl_class" href="classpulsar_1_1_producer.html">Producer</a>)&gt; CreateProducerCallback;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>)&gt; SubscribeCallback;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a>)&gt; ReaderCallback;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <a class="code hl_class" href="classpulsar_1_1_table_view.html">TableView</a>)&gt; TableViewCallback;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp;)&gt; GetPartitionsCallback;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>)&gt; CloseCallback;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">using </span>CreateProducerV2Callback = std::function&lt;void(std::variant&lt;Error, Producer&gt;)&gt;;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="keyword">using </span>CreateConsumerV2Callback = std::function&lt;void(std::variant&lt;Error, Consumer&gt;)&gt;;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="keyword">using </span>SubscribeV2Callback = CreateConsumerV2Callback;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="keyword">using </span>ReaderV2Callback = std::function&lt;void(std::variant&lt;Error, Reader&gt;)&gt;;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="keyword">using </span>TableViewV2Callback = std::function&lt;void(std::variant&lt;Error, TableView&gt;)&gt;;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span></div>
+<div class="foldopen" id="foldopen00060" data-start="{" data-end="};">
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="structpulsar_1_1_topic_regex.html">   60</a></span><span class="keyword">struct </span>TopicRegex {</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>    <span class="keyword">explicit</span> TopicRegex(std::string pattern) : pattern(std::move(pattern)) {}</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>    std::string pattern;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>};</div>
+</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span><span class="keyword">using </span>SubscribeTopics = std::variant&lt;std::string, std::vector&lt;std::string&gt;, <a class="code hl_struct" href="structpulsar_1_1_topic_regex.html">TopicRegex</a>&gt;;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="keyword">class </span>ClientImpl;</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="foldopen" id="foldopen00072" data-start="{" data-end="};">
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html">   72</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">Client</a> {</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">   81</a></span>    <a class="code hl_function" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">Client</a>(<span class="keyword">const</span> std::string&amp; serviceUrl);</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a148122b14f22844d359c35c084907962">   92</a></span>    <a class="code hl_function" href="classpulsar_1_1_client.html#a148122b14f22844d359c35c084907962">Client</a>(<span class="keyword">const</span> std::string&amp; serviceUrl, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; clien [...]
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a0108c57bbe88e490bf3c5d4bf776a892">  105</a></span>    <span class="keyword">static</span> <a class="code hl_function" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">Client</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a0108c57bbe88e490bf3c5d4bf776a892">create</a>(std::unique_ptr&lt;ServiceInfoProvider&gt; serviceInfoProvider,</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>                         <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; clientConfiguration);</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52">  118</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52">createProducer</a>(<span class="keyword">const</span> std::string&amp; topic, <a class="code hl_class" href="class [...]
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span></div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05">  131</a></span>    [[deprecated(<span class="stringliteral">&quot;use createProducerV2&quot;</span>)]] <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05">createProducer</a>(<span class [...]
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>                                                                 <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; conf,</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>                                                                 <a class="code hl_class" href="classpulsar_1_1_producer.html">Producer</a>&amp; producer);</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a7e60b3a2ad7a2aaba14da614feccf442">  143</a></span>    [[deprecated(<span class="stringliteral">&quot;use createProducerAsyncV2&quot;</span>)]] <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a7e60b3a2ad7a2aaba14da614feccf442">createProducerAsync</a>(</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>        <span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> CreateProducerCallback&amp; callback);</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span></div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a500b0255095c5a5f9a5bfa2de3be101c">  153</a></span>    [[deprecated(<span class="stringliteral">&quot;use createProducerAsyncV2&quot;</span>)]] <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a500b0255095c5a5f9a5bfa2de3be101c">createProducerAsync</a>(</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>        <span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; conf, <span class="keyword">const</span> CreateProducerCallback&amp; callback);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    <span class="keywordtype">void</span> createProducerAsyncV2(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; conf,</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>                               CreateProducerV2Callback callback);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>    std::variant&lt;Error, Producer&gt; createProducerV2(<span class="keyword">const</span> std::string&amp; topic,</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>                                                   <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; conf);</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span></div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab">  170</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab">subscribe</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::s [...]
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span></div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a">  180</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a">subscribe</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::s [...]
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>                     <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span></div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a28fcb312864446c441530ec3088a8ca2">  192</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a28fcb312864446c441530ec3088a8ca2">subscribeAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>                        <span class="keyword">const</span> SubscribeCallback&amp; callback);</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span></div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a0b23a074225bf8aea5e73090072c9a55">  205</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a0b23a074225bf8aea5e73090072c9a55">subscribeAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>                        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <span class="keyword">const</span> SubscribeCallback&amp; callback);</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>    <span class="keywordtype">void</span> subscribeAsyncV2(<span class="keyword">const</span> SubscribeTopics&amp; topics, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>                          <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, SubscribeV2Callback callback);</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>    std::variant&lt;Error, Consumer&gt; subscribeV2(<span class="keyword">const</span> SubscribeTopics&amp; topics,</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>                                              <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>                                              <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf);</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471">  222</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471">subscribe</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword" [...]
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>                     <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span></div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a9188d5fafbb23da16f859592316947e4">  233</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a9188d5fafbb23da16f859592316947e4">subscribe</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword" [...]
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>                     <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span></div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a34ed4cb4ee012a187cc19d92808dc879">  246</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a34ed4cb4ee012a187cc19d92808dc879">subscribeAsync</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>                        <span class="keyword">const</span> SubscribeCallback&amp; callback);</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span></div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aab5f8742d3e390fb5c03194909ceb40b">  259</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#aab5f8742d3e390fb5c03194909ceb40b">subscribeAsync</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>                        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <span class="keyword">const</span> SubscribeCallback&amp; callback);</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span></div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a086549ca0d057be1e9d00ca483995621">  265</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a086549ca0d057be1e9d00ca483995621">subscribeWithRegex</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">con [...]
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span>                              <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span></div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344">  272</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344">subscribeWithRegex</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">con [...]
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>                              <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span></div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a37d10a06eee84ba83d1c152e23c2c115">  282</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a37d10a06eee84ba83d1c152e23c2c115">subscribeWithRegexAsync</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span>                                 <span class="keyword">const</span> SubscribeCallback&amp; callback);</div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span></div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#acec028a2df74e7888d98ad601b23adc2">  295</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#acec028a2df74e7888d98ad601b23adc2">subscribeWithRegexAsync</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span>                                 <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <span class="keyword">const</span> SubscribeCallback&amp; callback);</div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span></div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a">  327</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a">createReader</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a  [...]
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span>                        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a>&amp; reader);</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span></div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a3d8d957bb4b32794684c1d9595aeff7f">  356</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a3d8d957bb4b32794684c1d9595aeff7f">createReaderAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html"> [...]
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span>                           <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; conf, <span class="keyword">const</span> ReaderCallback&amp; callback);</div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span>    <span class="keywordtype">void</span> createReaderAsyncV2(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; startMessageId,</div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span>                             <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; conf, ReaderV2Callback callback);</div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span>    std::variant&lt;Error, Reader&gt; createReaderV2(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; startMessageId,</div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span>                                               <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; conf);</div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span></div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aafa5591b8fc3241e50c2b1f2e3bafe24">  377</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#aafa5591b8fc3241e50c2b1f2e3bafe24">createTableView</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span>  [...]
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span>                           <a class="code hl_class" href="classpulsar_1_1_table_view.html">TableView</a>&amp; tableView);</div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span></div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#acef8e93155a245037a89c317231dca09">  392</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#acef8e93155a245037a89c317231dca09">createTableViewAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_table_view_c [...]
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span>                              <span class="keyword">const</span> TableViewCallback&amp; callBack);</div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span>    <span class="keywordtype">void</span> createTableViewAsyncV2(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a>&amp; conf,</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span>                                TableViewV2Callback callback);</div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span> </div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>    std::variant&lt;Error, TableView&gt; createTableViewV2(<span class="keyword">const</span> std::string&amp; topic,</div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>                                                     <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a>&amp; conf);</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span></div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657">  414</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657">getPartitionsForTopic</a>(<span class="keyword">const</span> std::string&amp; topic, std::vector&lt;std::string&gt [...]
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span></div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aef3dbd7892cb923901f04dd2e0176561">  431</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#aef3dbd7892cb923901f04dd2e0176561">getPartitionsForTopicAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> GetPartitionsCallback&amp; callback);</div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span></div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac">  437</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac">close</a>();</div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span></div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a07adae8c6621b53db66d761f8f2578b3">  448</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a07adae8c6621b53db66d761f8f2578b3">closeAsync</a>(<span class="keyword">const</span> CloseCallback&amp; callback);</div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span></div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aecac8bf91b474339455fe0519f6ba71e">  456</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#aecac8bf91b474339455fe0519f6ba71e">shutdown</a>();</div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span></div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc">  463</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc">getNumberOfProducers</a>();</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span></div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">  470</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">getNumberOfConsumers</a>();</div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span></div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aa24ed12d3228c31c923e33fee1eb6f55">  479</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#aa24ed12d3228c31c923e33fee1eb6f55">getSchemaInfoAsync</a>(<span class="keyword">const</span> std::string&amp; topic, int64_t version,</div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  480</span>                            std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp;)&gt; callback);</div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span></div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a4eeee0211de27be96b67e70f628e826b">  487</a></span>    <a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a4eeee0211de27be96b67e70f628e826b">getServiceInfo</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  488</span> </div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  489</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span>    <a class="code hl_function" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">Client</a>(<span class="keyword">const</span> std::shared_ptr&lt;ClientImpl&gt;&amp;);</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span> </div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span>    std::shared_ptr&lt;ClientImpl&gt; impl_;</div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span>};</div>
+</div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span> </div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_CLIENT_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html">pulsar::ClientConfiguration</a></div><div class="ttdef"><b>Definition</b> ClientConfiguration.h:31</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a0108c57bbe88e490bf3c5d4bf776a892"><div class="ttname"><a href="classpulsar_1_1_client.html#a0108c57bbe88e490bf3c5d4bf776a892">pulsar::Client::create</a></div><div class="ttdeci">static Client create(std::unique_ptr&lt; ServiceInfoProvider &gt; serviceInfoProvider, const ClientConfiguration &amp;clientConfiguration)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a07adae8c6621b53db66d761f8f2578b3"><div class="ttname"><a href="classpulsar_1_1_client.html#a07adae8c6621b53db66d761f8f2578b3">pulsar::Client::closeAsync</a></div><div class="ttdeci">void closeAsync(const CloseCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a086549ca0d057be1e9d00ca483995621"><div class="ttname"><a href="classpulsar_1_1_client.html#a086549ca0d057be1e9d00ca483995621">pulsar::Client::subscribeWithRegex</a></div><div class="ttdeci">Result subscribeWithRegex(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a0b23a074225bf8aea5e73090072c9a55"><div class="ttname"><a href="classpulsar_1_1_client.html#a0b23a074225bf8aea5e73090072c9a55">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::string &amp;topic, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, const SubscribeCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a11016481c032f7d07e3ab5be341c9344"><div class="ttname"><a href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344">pulsar::Client::subscribeWithRegex</a></div><div class="ttdeci">Result subscribeWithRegex(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a1134874e191f8bf395c020f1ed3b2423"><div class="ttname"><a href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">pulsar::Client::getNumberOfConsumers</a></div><div class="ttdeci">uint64_t getNumberOfConsumers()</div><div class="ttdoc">Get the number of alive consumers on the current client.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a11b3ca7d9174a0912bf51b742f7f825a"><div class="ttname"><a href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::string &amp;topic, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a148122b14f22844d359c35c084907962"><div class="ttname"><a href="classpulsar_1_1_client.html#a148122b14f22844d359c35c084907962">pulsar::Client::Client</a></div><div class="ttdeci">Client(const std::string &amp;serviceUrl, const ClientConfiguration &amp;clientConfiguration)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a208629aff52395ad0072622ae82f5657"><div class="ttname"><a href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657">pulsar::Client::getPartitionsForTopic</a></div><div class="ttdeci">Result getPartitionsForTopic(const std::string &amp;topic, std::vector&lt; std::string &gt; &amp;partitions)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a28fcb312864446c441530ec3088a8ca2"><div class="ttname"><a href="classpulsar_1_1_client.html#a28fcb312864446c441530ec3088a8ca2">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::string &amp;topic, const std::string &amp;subscriptionName, const SubscribeCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a34ed4cb4ee012a187cc19d92808dc879"><div class="ttname"><a href="classpulsar_1_1_client.html#a34ed4cb4ee012a187cc19d92808dc879">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const SubscribeCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a37d10a06eee84ba83d1c152e23c2c115"><div class="ttname"><a href="classpulsar_1_1_client.html#a37d10a06eee84ba83d1c152e23c2c115">pulsar::Client::subscribeWithRegexAsync</a></div><div class="ttdeci">void subscribeWithRegexAsync(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const SubscribeCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a3d8d957bb4b32794684c1d9595aeff7f"><div class="ttname"><a href="classpulsar_1_1_client.html#a3d8d957bb4b32794684c1d9595aeff7f">pulsar::Client::createReaderAsync</a></div><div class="ttdeci">void createReaderAsync(const std::string &amp;topic, const MessageId &amp;startMessageId, const ReaderConfiguration &amp;conf, const ReaderCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a4eeee0211de27be96b67e70f628e826b"><div class="ttname"><a href="classpulsar_1_1_client.html#a4eeee0211de27be96b67e70f628e826b">pulsar::Client::getServiceInfo</a></div><div class="ttdeci">ServiceInfo getServiceInfo() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a500b0255095c5a5f9a5bfa2de3be101c"><div class="ttname"><a href="classpulsar_1_1_client.html#a500b0255095c5a5f9a5bfa2de3be101c">pulsar::Client::createProducerAsync</a></div><div class="ttdeci">void createProducerAsync(const std::string &amp;topic, const ProducerConfiguration &amp;conf, const CreateProducerCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a5225a8d2b121cce6e205ef6e2471cdbc"><div class="ttname"><a href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc">pulsar::Client::getNumberOfProducers</a></div><div class="ttdeci">uint64_t getNumberOfProducers()</div><div class="ttdoc">Get the number of alive producers on the current client.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a7e60b3a2ad7a2aaba14da614feccf442"><div class="ttname"><a href="classpulsar_1_1_client.html#a7e60b3a2ad7a2aaba14da614feccf442">pulsar::Client::createProducerAsync</a></div><div class="ttdeci">void createProducerAsync(const std::string &amp;topic, const CreateProducerCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a9188d5fafbb23da16f859592316947e4"><div class="ttname"><a href="classpulsar_1_1_client.html#a9188d5fafbb23da16f859592316947e4">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a96f49cc0ce27bfe68d75224991f0ba52"><div class="ttname"><a href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52">pulsar::Client::createProducer</a></div><div class="ttdeci">Result createProducer(const std::string &amp;topic, Producer &amp;producer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a9f32b4d1101f8f2fb5029013c87779ab"><div class="ttname"><a href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::string &amp;topic, const std::string &amp;subscriptionName, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aa24ed12d3228c31c923e33fee1eb6f55"><div class="ttname"><a href="classpulsar_1_1_client.html#aa24ed12d3228c31c923e33fee1eb6f55">pulsar::Client::getSchemaInfoAsync</a></div><div class="ttdeci">void getSchemaInfoAsync(const std::string &amp;topic, int64_t version, std::function&lt; void(Result, const SchemaInfo &amp;)&gt; callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aab5f8742d3e390fb5c03194909ceb40b"><div class="ttname"><a href="classpulsar_1_1_client.html#aab5f8742d3e390fb5c03194909ceb40b">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, const SubscribeCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aae7658dee80ad23b418cfb7e12f5df05"><div class="ttname"><a href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05">pulsar::Client::createProducer</a></div><div class="ttdeci">Result createProducer(const std::string &amp;topic, const ProducerConfiguration &amp;conf, Producer &amp;producer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aafa5591b8fc3241e50c2b1f2e3bafe24"><div class="ttname"><a href="classpulsar_1_1_client.html#aafa5591b8fc3241e50c2b1f2e3bafe24">pulsar::Client::createTableView</a></div><div class="ttdeci">Result createTableView(const std::string &amp;topic, const TableViewConfiguration &amp;conf, TableView &amp;tableView)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_ac3f0a65b099f88781548d4fad41685ac"><div class="ttname"><a href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac">pulsar::Client::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_acab90af5d0542803bc1d10e68d27414f"><div class="ttname"><a href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">pulsar::Client::Client</a></div><div class="ttdeci">Client(const std::string &amp;serviceUrl)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_acec028a2df74e7888d98ad601b23adc2"><div class="ttname"><a href="classpulsar_1_1_client.html#acec028a2df74e7888d98ad601b23adc2">pulsar::Client::subscribeWithRegexAsync</a></div><div class="ttdeci">void subscribeWithRegexAsync(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, const SubscribeCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_acef8e93155a245037a89c317231dca09"><div class="ttname"><a href="classpulsar_1_1_client.html#acef8e93155a245037a89c317231dca09">pulsar::Client::createTableViewAsync</a></div><div class="ttdeci">void createTableViewAsync(const std::string &amp;topic, const TableViewConfiguration &amp;conf, const TableViewCallback &amp;callBack)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_ad2f6404e06200714e1fe82419b7c963a"><div class="ttname"><a href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a">pulsar::Client::createReader</a></div><div class="ttdeci">Result createReader(const std::string &amp;topic, const MessageId &amp;startMessageId, const ReaderConfiguration &amp;conf, Reader &amp;reader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aea2d7918286ecd127751d06e191a5471"><div class="ttname"><a href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aecac8bf91b474339455fe0519f6ba71e"><div class="ttname"><a href="classpulsar_1_1_client.html#aecac8bf91b474339455fe0519f6ba71e">pulsar::Client::shutdown</a></div><div class="ttdeci">void shutdown()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aef3dbd7892cb923901f04dd2e0176561"><div class="ttname"><a href="classpulsar_1_1_client.html#aef3dbd7892cb923901f04dd2e0176561">pulsar::Client::getPartitionsForTopicAsync</a></div><div class="ttdeci">void getPartitionsForTopicAsync(const std::string &amp;topic, const GetPartitionsCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html">pulsar::ConsumerConfiguration</a></div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:65</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html">pulsar::ProducerConfiguration</a></div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html"><div class="ttname"><a href="classpulsar_1_1_producer.html">pulsar::Producer</a></div><div class="ttdef"><b>Definition</b> Producer.h:36</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html">pulsar::ReaderConfiguration</a></div><div class="ttdef"><b>Definition</b> ReaderConfiguration.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html"><div class="ttname"><a href="classpulsar_1_1_reader.html">pulsar::Reader</a></div><div class="ttdef"><b>Definition</b> Reader.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:147</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_html"><div class="ttname"><a href="classpulsar_1_1_service_info.html">pulsar::ServiceInfo</a></div><div class="ttdef"><b>Definition</b> ServiceInfo.h:33</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html"><div class="ttname"><a href="classpulsar_1_1_table_view.html">pulsar::TableView</a></div><div class="ttdef"><b>Definition</b> TableView.h:38</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="astructpulsar_1_1_table_view_configuration_html"><div class="ttname"><a href="structpulsar_1_1_table_view_configuration.html">pulsar::TableViewConfiguration</a></div><div class="ttdef"><b>Definition</b> TableViewConfiguration.h:27</div></div>
+<div class="ttc" id="astructpulsar_1_1_topic_regex_html"><div class="ttname"><a href="structpulsar_1_1_topic_regex.html">pulsar::TopicRegex</a></div><div class="ttdef"><b>Definition</b> Client.h:60</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_client_configuration_8h_source.html b/static/api/cpp/4.2.x/_client_configuration_8h_source.html
new file mode 100644
index 00000000000..4ead87d07ba
--- /dev/null
+++ b/static/api/cpp/4.2.x/_client_configuration_8h_source.html
@@ -0,0 +1,296 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ClientConfiguration.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ClientConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CLIENTCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CLIENTCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Authentication.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Logger.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">struct </span>ClientConfigurationImpl;</div>
+<div class="foldopen" id="foldopen00031" data-start="{" data-end="};">
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html">   31</a></span><span class="keyword">class </span>PULSAR_PUBLIC ClientConfiguration {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    ClientConfiguration();</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    ~ClientConfiguration();</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    ClientConfiguration(<span class="keyword">const</span> ClientConfiguration&amp;);</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    ClientConfiguration&amp; operator=(<span class="keyword">const</span> ClientConfiguration&amp;);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    <span class="keyword">enum</span> ProxyProtocol : uint8_t</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>        SNI = 0</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    };</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ace74b6344c19c7039087be76d86528f6">   48</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ace74b6344c19c7039087be76d86528f6">setMemoryLimit</a>(uint64_t memoryLimitBytes);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#aa09cf22a285653ce9a551e85342dff49">   53</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#aa09cf22a285653ce9a551e85342dff49">getMemoryLimit</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a3a2246877634534eb3163ed45221a6f5">   63</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a3a2246877634534eb3163ed45221a6f5">setConnectionsPerBroker</a>(<span class="keywordtype">int</span> connectionsPerBroker);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a0405e2db9228972cfbc972b3f550d8ad">   68</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a0405e2db9228972cfbc972b3f550d8ad">getConnectionsPerBroker</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">   77</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">setAuth</a>(<span class="keyword">const</span> AuthenticationPtr&amp; authentication);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ac5659a9c3232ab07ed1e81dd406187c1">   85</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ac5659a9c3232ab07ed1e81dd406187c1">setOperationTimeoutSeconds</a>(<span class="keywordtype">int</span> timeout);</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a842576f768383a2434959ece2a039222">   90</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a842576f768383a2434959ece2a039222">getOperationTimeoutSeconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9ad37581f1bdf9c06e3a83c73fab1c0f">   98</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9ad37581f1bdf9c06e3a83c73fab1c0f">setOperationTimeoutMs</a>(<span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ac61c0560295277fe3e65a02dfa00e730">  103</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ac61c0560295277fe3e65a02dfa00e730">getOperationTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a7e83eb6526e98259023e93f0c89c1a61">  111</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a7e83eb6526e98259023e93f0c89c1a61">setIOThreads</a>(<span class="keywordtype">int</span> threads);</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span></div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a961eff6439a7aab387dca6a486f8535b">  116</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a961eff6439a7aab387dca6a486f8535b">getIOThreads</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a5c0d6ddb5e00afe43067505bd46a6a9d">  128</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a5c0d6ddb5e00afe43067505bd46a6a9d">setMessageListenerThreads</a>(<span class="keywordtype">int</span> threads);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span></div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a95829d66c50c4226d79cc2fa835ba59a">  133</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a95829d66c50c4226d79cc2fa835ba59a">getMessageListenerThreads</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9ae54146fe16f423faee853705043a0d">  143</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9ae54146fe16f423faee853705043a0d">setConcurrentLookupRequest</a>(<span class="keywordtype">int</span> concurrentLookupRequest);</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#aacc5ce498af5ab4535ba3d5a39684b60">  148</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#aacc5ce498af5ab4535ba3d5a39684b60">getConcurrentLookupRequest</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span></div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#abcf3777ad94bee91b2f099a2f23e2033">  156</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#abcf3777ad94bee91b2f099a2f23e2033">setMaxLookupRedirects</a>(<span class="keywordtype">int</span> maxLookupRedirects);</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ac624ce5e221c79282392cf63f91b7f5d">  161</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ac624ce5e221c79282392cf63f91b7f5d">getMaxLookupRedirects</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span></div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#aeb336cdb14093bb3626496a631e29441">  169</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#aeb336cdb14093bb3626496a631e29441">setInitialBackoffIntervalMs</a>(<span class="keywordtype">int</span> initialBackoffIntervalMs);</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span></div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a0de6e5a822b7a3c6ab3f66f607e6891d">  174</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a0de6e5a822b7a3c6ab3f66f607e6891d">getInitialBackoffIntervalMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span></div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a40d8e808b298b797c38bc2e57df43aa3">  182</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a40d8e808b298b797c38bc2e57df43aa3">setMaxBackoffIntervalMs</a>(<span class="keywordtype">int</span> maxBackoffIntervalMs);</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span></div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a7505a6277e8af2ee81468bdc349283ee">  187</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a7505a6277e8af2ee81468bdc349283ee">getMaxBackoffIntervalMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span></div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a1bf72e7f2e263ed35ff631a379e7e562">  200</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a1bf72e7f2e263ed35ff631a379e7e562">setLogger</a>(<a class="code hl_class" href="classpulsar_1_1_logger_factory.html">LoggerFactory</a>* loggerFactory);</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span></div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">  207</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">setTlsPrivateKeyFilePath</a>(<span class="keyword">const</span> std::string&amp; tlsKeyFilePath);</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span></div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a961555e096d6c7dfd599454b335069ca">  212</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a961555e096d6c7dfd599454b335069ca">getTlsPrivateKeyFilePath</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span></div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">  219</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">setTlsCertificateFilePath</a>(<span class="keyword">const</span> std::string&amp; tlsCertificateFilePath);</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span></div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a499d79bdc68fb5b80709b3a794f682f5">  224</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a499d79bdc68fb5b80709b3a794f682f5">getTlsCertificateFilePath</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span></div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">  234</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">setTlsTrustCertsFilePath</a>(<span class="keyword">const</span> std::string&amp; tlsTrustCertsFilePath);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span></div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9c6de9ae9ffe25f93e45d52af33786c7">  243</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9c6de9ae9ffe25f93e45d52af33786c7">setTlsAllowInsecureConnection</a>(<span class="keywordtype">bool</span> allowInsecure);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span></div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a134473221c9e91f0c558a5c291aa9d5e">  248</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a134473221c9e91f0c558a5c291aa9d5e">isTlsAllowInsecureConnection</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span></div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a10233b86c33c352f79eb0dabf954809b">  263</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a10233b86c33c352f79eb0dabf954809b">setValidateHostName</a>(<span class="keywordtype">bool</span> validateHostName);</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span></div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ae5646c0a8ffd63e9fbcb3a84704d3a10">  268</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ae5646c0a8ffd63e9fbcb3a84704d3a10">isValidateHostName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span></div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">  275</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">setListenerName</a>(<span class="keyword">const</span> std::string&amp; listenerName);</div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span></div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a290b94553eca37e1dddfc2fd48a0b704">  280</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a290b94553eca37e1dddfc2fd48a0b704">getListenerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span></div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a0c7c63f49cd66554563c3f5e133c4fc6">  289</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a0c7c63f49cd66554563c3f5e133c4fc6">setStatsIntervalInSeconds</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp;);</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span></div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a3e86a2ec91591eea6faee445652f6c8b">  294</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a3e86a2ec91591eea6faee445652f6c8b">getStatsIntervalInSeconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span></div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a5879c3ecf00ee0d1d85a1eea3977f6ba">  305</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a5879c3ecf00ee0d1d85a1eea3977f6ba">setPartititionsUpdateInterval</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> intervalInSeconds);</div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span></div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9b1c684c29b2c484853aaa025aa441cb">  310</a></span>    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9b1c684c29b2c484853aaa025aa441cb">getPartitionsUpdateInterval</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span></div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a6d12355701aed4526560e5754312da53">  321</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a6d12355701aed4526560e5754312da53">setConnectionTimeout</a>(<span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span></div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9205dfdb1cb7c0ffe76f2fc2a31f50de">  332</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9205dfdb1cb7c0ffe76f2fc2a31f50de">setProxyServiceUrl</a>(<span class="keyword">const</span> std::string&amp; proxyServiceUrl);</div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span>    <span class="keyword">const</span> std::string&amp; getProxyServiceUrl() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span></div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ace1db02ebfa21f89ee887d8f8df7c180">  346</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ace1db02ebfa21f89ee887d8f8df7c180">setProxyProtocol</a>(ProxyProtocol proxyProtocol);</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span>    ProxyProtocol getProxyProtocol() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span></div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#abcf01cb88d07e83c1b43abe14854dac2">  353</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#abcf01cb88d07e83c1b43abe14854dac2">getConnectionTimeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span></div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#aa60fd36396a4e5547e3fece1a7329efb">  361</a></span>    ClientConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#aa60fd36396a4e5547e3fece1a7329efb">setKeepAliveIntervalInSeconds</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> keepAliveIntervalInSeconds);</div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a3f138f0594757549169e013372cd8f58">  366</a></span>    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a3f138f0594757549169e013372cd8f58">getKeepAliveIntervalInSeconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientImpl;</div>
+<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span> </div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span>    <span class="keyword">const</span> AuthenticationPtr&amp; getAuthPtr() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span>    std::shared_ptr&lt;ClientConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span>    <span class="comment">// By default, when the client connects to the broker, a version string like &quot;Pulsar-CPP-v&lt;x.y.z&gt;&quot; will be</span></div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span>    <span class="comment">// carried and saved by the broker. The client version string could be queried from the topic stats.</span></div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span>    <span class="comment">// This method provides a way to add more description to a specific `Client` instance. If it&#39;s configured,</span></div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span>    <span class="comment">// the description will be appended to the original client version string, with &#39;-&#39; as the separator.</span></div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>    <span class="comment">// For example, if the client version is 3.2.0, and the description is &quot;forked&quot;, the final client version</span></div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span>    <span class="comment">// string will be &quot;Pulsar-CPP-v3.2.0-forked&quot;.</span></div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno">  384</span>    <span class="comment">// NOTE: This method should only be called by the PulsarWrapper and the length should not exceed 64.</span></div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno">  385</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno">  386</span>    <span class="comment">// For example, you can add a PulsarWrapper class like:</span></div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno">  387</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</span>    <span class="comment">// ```c++</span></div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>    <span class="comment">// namespace pulsar {</span></div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span>    <span class="comment">// class PulsarWrapper {</span></div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>    <span class="comment">//     static ClientConfiguration clientConfig() {</span></div>
+<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span>    <span class="comment">//         ClientConfiguration conf;</span></div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span>    <span class="comment">//         conf.setDescription(&quot;forked&quot;);</span></div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span>    <span class="comment">//         return conf;</span></div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span>    <span class="comment">//     }</span></div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span>    <span class="comment">// };</span></div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span>    <span class="comment">// }</span></div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>    <span class="comment">// ```</span></div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span>    <span class="comment">// Then, call the method before passing the `conf` to the constructor of `Client`:</span></div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span>    <span class="comment">// ```c++</span></div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span>    <span class="comment">// auto conf = PulsarWrapper::clientConfig();</span></div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span>    <span class="comment">// // Set other attributes of `conf` here...</span></div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span>    <span class="comment">// Client client{&quot;pulsar://localhost:6650&quot;, conf);</span></div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span>    <span class="comment">// ```</span></div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span>    ClientConfiguration&amp; setDescription(<span class="keyword">const</span> std::string&amp; description);</div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span> </div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span>    <span class="keyword">const</span> std::string&amp; getDescription() const noexcept;</div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span>};</div>
+</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_CLIENTCONFIGURATION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a0405e2db9228972cfbc972b3f550d8ad"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a0405e2db9228972cfbc972b3f550d8ad">pulsar::ClientConfiguration::getConnectionsPerBroker</a></div><div class="ttdeci">int getConnectionsPerBroker() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a0c7c63f49cd66554563c3f5e133c4fc6"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a0c7c63f49cd66554563c3f5e133c4fc6">pulsar::ClientConfiguration::setStatsIntervalInSeconds</a></div><div class="ttdeci">ClientConfiguration &amp; setStatsIntervalInSeconds(const unsigned int &amp;)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a0de6e5a822b7a3c6ab3f66f607e6891d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a0de6e5a822b7a3c6ab3f66f607e6891d">pulsar::ClientConfiguration::getInitialBackoffIntervalMs</a></div><div class="ttdeci">int getInitialBackoffIntervalMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a10233b86c33c352f79eb0dabf954809b"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a10233b86c33c352f79eb0dabf954809b">pulsar::ClientConfiguration::setValidateHostName</a></div><div class="ttdeci">ClientConfiguration &amp; setValidateHostName(bool validateHostName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a134473221c9e91f0c558a5c291aa9d5e"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a134473221c9e91f0c558a5c291aa9d5e">pulsar::ClientConfiguration::isTlsAllowInsecureConnection</a></div><div class="ttdeci">bool isTlsAllowInsecureConnection() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a1bf72e7f2e263ed35ff631a379e7e562"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a1bf72e7f2e263ed35ff631a379e7e562">pulsar::ClientConfiguration::setLogger</a></div><div class="ttdeci">ClientConfiguration &amp; setLogger(LoggerFactory *loggerFactory)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a283f6a724a4fdd8fa1def661e253eafb"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">pulsar::ClientConfiguration::setAuth</a></div><div class="ttdeci">ClientConfiguration &amp; setAuth(const AuthenticationPtr &amp;authentication)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a290b94553eca37e1dddfc2fd48a0b704"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a290b94553eca37e1dddfc2fd48a0b704">pulsar::ClientConfiguration::getListenerName</a></div><div class="ttdeci">const std::string &amp; getListenerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a3a2246877634534eb3163ed45221a6f5"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a3a2246877634534eb3163ed45221a6f5">pulsar::ClientConfiguration::setConnectionsPerBroker</a></div><div class="ttdeci">ClientConfiguration &amp; setConnectionsPerBroker(int connectionsPerBroker)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a3e86a2ec91591eea6faee445652f6c8b"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a3e86a2ec91591eea6faee445652f6c8b">pulsar::ClientConfiguration::getStatsIntervalInSeconds</a></div><div class="ttdeci">const unsigned int &amp; getStatsIntervalInSeconds() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a3f138f0594757549169e013372cd8f58"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a3f138f0594757549169e013372cd8f58">pulsar::ClientConfiguration::getKeepAliveIntervalInSeconds</a></div><div class="ttdeci">unsigned int getKeepAliveIntervalInSeconds() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a40d8e808b298b797c38bc2e57df43aa3"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a40d8e808b298b797c38bc2e57df43aa3">pulsar::ClientConfiguration::setMaxBackoffIntervalMs</a></div><div class="ttdeci">ClientConfiguration &amp; setMaxBackoffIntervalMs(int maxBackoffIntervalMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a499d79bdc68fb5b80709b3a794f682f5"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a499d79bdc68fb5b80709b3a794f682f5">pulsar::ClientConfiguration::getTlsCertificateFilePath</a></div><div class="ttdeci">const std::string &amp; getTlsCertificateFilePath() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a5879c3ecf00ee0d1d85a1eea3977f6ba"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a5879c3ecf00ee0d1d85a1eea3977f6ba">pulsar::ClientConfiguration::setPartititionsUpdateInterval</a></div><div class="ttdeci">ClientConfiguration &amp; setPartititionsUpdateInterval(unsigned int intervalInSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a5c0d6ddb5e00afe43067505bd46a6a9d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a5c0d6ddb5e00afe43067505bd46a6a9d">pulsar::ClientConfiguration::setMessageListenerThreads</a></div><div class="ttdeci">ClientConfiguration &amp; setMessageListenerThreads(int threads)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a65e807a8eb8d68b27ba464c3c026d5da"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">pulsar::ClientConfiguration::setTlsTrustCertsFilePath</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsTrustCertsFilePath(const std::string &amp;tlsTrustCertsFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a6d12355701aed4526560e5754312da53"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a6d12355701aed4526560e5754312da53">pulsar::ClientConfiguration::setConnectionTimeout</a></div><div class="ttdeci">ClientConfiguration &amp; setConnectionTimeout(int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a7505a6277e8af2ee81468bdc349283ee"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a7505a6277e8af2ee81468bdc349283ee">pulsar::ClientConfiguration::getMaxBackoffIntervalMs</a></div><div class="ttdeci">int getMaxBackoffIntervalMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a7e83eb6526e98259023e93f0c89c1a61"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a7e83eb6526e98259023e93f0c89c1a61">pulsar::ClientConfiguration::setIOThreads</a></div><div class="ttdeci">ClientConfiguration &amp; setIOThreads(int threads)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a842576f768383a2434959ece2a039222"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a842576f768383a2434959ece2a039222">pulsar::ClientConfiguration::getOperationTimeoutSeconds</a></div><div class="ttdeci">int getOperationTimeoutSeconds() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9040f07538e832ea521cf37b1d00b5be"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">pulsar::ClientConfiguration::setTlsCertificateFilePath</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsCertificateFilePath(const std::string &amp;tlsCertificateFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9205dfdb1cb7c0ffe76f2fc2a31f50de"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9205dfdb1cb7c0ffe76f2fc2a31f50de">pulsar::ClientConfiguration::setProxyServiceUrl</a></div><div class="ttdeci">ClientConfiguration &amp; setProxyServiceUrl(const std::string &amp;proxyServiceUrl)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a95829d66c50c4226d79cc2fa835ba59a"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a95829d66c50c4226d79cc2fa835ba59a">pulsar::ClientConfiguration::getMessageListenerThreads</a></div><div class="ttdeci">int getMessageListenerThreads() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a961555e096d6c7dfd599454b335069ca"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a961555e096d6c7dfd599454b335069ca">pulsar::ClientConfiguration::getTlsPrivateKeyFilePath</a></div><div class="ttdeci">const std::string &amp; getTlsPrivateKeyFilePath() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a961eff6439a7aab387dca6a486f8535b"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a961eff6439a7aab387dca6a486f8535b">pulsar::ClientConfiguration::getIOThreads</a></div><div class="ttdeci">int getIOThreads() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9a3462c57a542998b6324ba4144790c0"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">pulsar::ClientConfiguration::setTlsPrivateKeyFilePath</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsPrivateKeyFilePath(const std::string &amp;tlsKeyFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9ad37581f1bdf9c06e3a83c73fab1c0f"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9ad37581f1bdf9c06e3a83c73fab1c0f">pulsar::ClientConfiguration::setOperationTimeoutMs</a></div><div class="ttdeci">ClientConfiguration &amp; setOperationTimeoutMs(int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9ae54146fe16f423faee853705043a0d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9ae54146fe16f423faee853705043a0d">pulsar::ClientConfiguration::setConcurrentLookupRequest</a></div><div class="ttdeci">ClientConfiguration &amp; setConcurrentLookupRequest(int concurrentLookupRequest)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9b1c684c29b2c484853aaa025aa441cb"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9b1c684c29b2c484853aaa025aa441cb">pulsar::ClientConfiguration::getPartitionsUpdateInterval</a></div><div class="ttdeci">unsigned int getPartitionsUpdateInterval() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9c6de9ae9ffe25f93e45d52af33786c7"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9c6de9ae9ffe25f93e45d52af33786c7">pulsar::ClientConfiguration::setTlsAllowInsecureConnection</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsAllowInsecureConnection(bool allowInsecure)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aa09cf22a285653ce9a551e85342dff49"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aa09cf22a285653ce9a551e85342dff49">pulsar::ClientConfiguration::getMemoryLimit</a></div><div class="ttdeci">uint64_t getMemoryLimit() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aa60fd36396a4e5547e3fece1a7329efb"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aa60fd36396a4e5547e3fece1a7329efb">pulsar::ClientConfiguration::setKeepAliveIntervalInSeconds</a></div><div class="ttdeci">ClientConfiguration &amp; setKeepAliveIntervalInSeconds(unsigned int keepAliveIntervalInSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aacc5ce498af5ab4535ba3d5a39684b60"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aacc5ce498af5ab4535ba3d5a39684b60">pulsar::ClientConfiguration::getConcurrentLookupRequest</a></div><div class="ttdeci">int getConcurrentLookupRequest() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_abcf01cb88d07e83c1b43abe14854dac2"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#abcf01cb88d07e83c1b43abe14854dac2">pulsar::ClientConfiguration::getConnectionTimeout</a></div><div class="ttdeci">int getConnectionTimeout() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_abcf3777ad94bee91b2f099a2f23e2033"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#abcf3777ad94bee91b2f099a2f23e2033">pulsar::ClientConfiguration::setMaxLookupRedirects</a></div><div class="ttdeci">ClientConfiguration &amp; setMaxLookupRedirects(int maxLookupRedirects)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ac5659a9c3232ab07ed1e81dd406187c1"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ac5659a9c3232ab07ed1e81dd406187c1">pulsar::ClientConfiguration::setOperationTimeoutSeconds</a></div><div class="ttdeci">ClientConfiguration &amp; setOperationTimeoutSeconds(int timeout)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ac61c0560295277fe3e65a02dfa00e730"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ac61c0560295277fe3e65a02dfa00e730">pulsar::ClientConfiguration::getOperationTimeoutMs</a></div><div class="ttdeci">int getOperationTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ac624ce5e221c79282392cf63f91b7f5d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ac624ce5e221c79282392cf63f91b7f5d">pulsar::ClientConfiguration::getMaxLookupRedirects</a></div><div class="ttdeci">int getMaxLookupRedirects() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_acb0c818a17629bb78d90bf8d174320fe"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">pulsar::ClientConfiguration::setListenerName</a></div><div class="ttdeci">ClientConfiguration &amp; setListenerName(const std::string &amp;listenerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ace1db02ebfa21f89ee887d8f8df7c180"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ace1db02ebfa21f89ee887d8f8df7c180">pulsar::ClientConfiguration::setProxyProtocol</a></div><div class="ttdeci">ClientConfiguration &amp; setProxyProtocol(ProxyProtocol proxyProtocol)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ace74b6344c19c7039087be76d86528f6"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ace74b6344c19c7039087be76d86528f6">pulsar::ClientConfiguration::setMemoryLimit</a></div><div class="ttdeci">ClientConfiguration &amp; setMemoryLimit(uint64_t memoryLimitBytes)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ae5646c0a8ffd63e9fbcb3a84704d3a10"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ae5646c0a8ffd63e9fbcb3a84704d3a10">pulsar::ClientConfiguration::isValidateHostName</a></div><div class="ttdeci">bool isValidateHostName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aeb336cdb14093bb3626496a631e29441"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aeb336cdb14093bb3626496a631e29441">pulsar::ClientConfiguration::setInitialBackoffIntervalMs</a></div><div class="ttdeci">ClientConfiguration &amp; setInitialBackoffIntervalMs(int initialBackoffIntervalMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_compression_type_8h_source.html b/static/api/cpp/4.2.x/_compression_type_8h_source.html
new file mode 100644
index 00000000000..107e3d9d747
--- /dev/null
+++ b/static/api/cpp/4.2.x/_compression_type_8h_source.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/CompressionType.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">CompressionType.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_COMPRESSIONTYPE_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_COMPRESSIONTYPE_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">enum</span> CompressionType : std::uint8_t</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>{</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    CompressionNone = 0,</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    CompressionLZ4 = 1,</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>    CompressionZLib = 2,</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    CompressionZSTD = 3,</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    CompressionSNAPPY = 4</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>};</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>}</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_COMPRESSIONTYPE_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_console_logger_factory_8h_source.html b/static/api/cpp/4.2.x/_console_logger_factory_8h_source.html
new file mode 100644
index 00000000000..225e7388d6e
--- /dev/null
+++ b/static/api/cpp/4.2.x/_console_logger_factory_8h_source.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ConsoleLoggerFactory.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ConsoleLoggerFactory.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Logger.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">class </span>ConsoleLoggerFactoryImpl;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span></div>
+<div class="foldopen" id="foldopen00051" data-start="{" data-end="};">
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_console_logger_factory.html">   51</a></span><span class="keyword">class </span>PULSAR_PUBLIC ConsoleLoggerFactory : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_logger_factory.html">LoggerFactory</a> {</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    <span class="keyword">explicit</span> ConsoleLoggerFactory(Logger::Level level = Logger::LEVEL_INFO);</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>    ~ConsoleLoggerFactory();</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classpulsar_1_1_console_logger_factory.html#a4592e252660038c303b4e71a44da9275">   57</a></span>    <a class="code hl_class" href="classpulsar_1_1_logger.html">Logger</a>* <a class="code hl_function" href="classpulsar_1_1_console_logger_factory.html#a4592e252660038c303b4e71a44da9275">getLogger</a>(<span class="keyword">const</span> std::string&amp; fileName) <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>    std::unique_ptr&lt;ConsoleLoggerFactoryImpl&gt; impl_;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>};</div>
+</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_console_logger_factory_html_a4592e252660038c303b4e71a44da9275"><div class="ttname"><a href="classpulsar_1_1_console_logger_factory.html#a4592e252660038c303b4e71a44da9275">pulsar::ConsoleLoggerFactory::getLogger</a></div><div class="ttdeci">Logger * getLogger(const std::string &amp;fileName) override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html"><div class="ttname"><a href="classpulsar_1_1_logger.html">pulsar::Logger</a></div><div class="ttdef"><b>Definition</b> Logger.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_consumer_8h_source.html b/static/api/cpp/4.2.x/_consumer_8h_source.html
new file mode 100644
index 00000000000..9ee404006a4
--- /dev/null
+++ b/static/api/cpp/4.2.x/_consumer_8h_source.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Consumer.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Consumer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef CONSUMER_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define CONSUMER_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/BrokerConsumerStats.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ConsumerConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/TypedMessage.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>ConsumerImplBase;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::shared_ptr&lt;ConsumerImplBase&gt; ConsumerImplBasePtr;</div>
+<div class="foldopen" id="foldopen00037" data-start="{" data-end="};">
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html">   37</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">Consumer</a> {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">   42</a></span>    <a class="code hl_function" href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">Consumer</a>();</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    <span class="keyword">virtual</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">~Consumer</a>() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ad55d95cd75501562d8ae6d83935d5977">   48</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer.html#ad55d95cd75501562d8ae6d83935d5977">getTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#af6049caaf3e1f8bc91d4dc52b02ab7d1">   53</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer.html#af6049caaf3e1f8bc91d4dc52b02ab7d1">getSubscriptionName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a83f58a6118a693398c16e70cecac0303">   58</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer.html#a83f58a6118a693398c16e70cecac0303">getConsumerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a542ca0a9473a03ccf8bd8aeed24de490">   73</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a542ca0a9473a03ccf8bd8aeed24de490">unsubscribe</a>();</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a2a3a5c0ca53537d6c2aeecbc9d850e6a">   86</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a2a3a5c0ca53537d6c2aeecbc9d850e6a">unsubscribeAsync</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>&amp; callbac [...]
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">   98</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg);</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a>(<a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp; msg, <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>        <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> rawMsg;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>        <span class="keyword">auto</span> result = <a class="code hl_function" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a>(rawMsg);</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>        msg = <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{rawMsg, decoder};</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>        <span class="keywordflow">return</span> result;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>    }</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span></div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ace9475b70f37c91df5b442f41058370e">  116</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#ace9475b70f37c91df5b442f41058370e">receive</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg, <span class="ke [...]
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a>(<a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp; msg, <span class="keywordtype">int</span> timeoutMs, <span class="keyword">typename</span>  [...]
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>        <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> rawMsg;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>        <span class="keyword">auto</span> result = <a class="code hl_function" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a>(rawMsg, timeoutMs);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>        msg = <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{rawMsg, decoder};</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>        <span class="keywordflow">return</span> result;</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    }</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span></div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a99703b58b62320701220041473f6a268">  137</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a99703b58b62320701220041473f6a268">receiveAsync</a>(<span class="keyword">const</span> ReceiveCallback&amp; callback);</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a99703b58b62320701220041473f6a268">receiveAsync</a>(<span class="keyword">const</span> std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <span class="keyword">const</span> <a class="cod [...]
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>                      <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>        <a class="code hl_function" href="classpulsar_1_1_consumer.html#a99703b58b62320701220041473f6a268">receiveAsync</a>([callback, decoder](<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg) {</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>            callback(result, <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{msg, decoder});</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>        });</div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>    }</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span></div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a49c846a386d778df94a1439982be5cbd">  157</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a49c846a386d778df94a1439982be5cbd">batchReceive</a>(<a class="code hl_typedef" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Mess [...]
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span></div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ac13f007e453e3cc8ef36eb1dc43cb431">  170</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#ac13f007e453e3cc8ef36eb1dc43cb431">batchReceiveAsync</a>(<span class="keyword">const</span> BatchReceiveCallback&amp; callback);</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span></div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3c3eb5056f228d281798f9ea75f52af9">  183</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a3c3eb5056f228d281798f9ea75f52af9">acknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html [...]
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span></div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#aed10e043835e50d8129e6adecd91da72">  195</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#aed10e043835e50d8129e6adecd91da72">acknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.h [...]
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a57fd2c53a44ea53262742d90ff11e0fd">  201</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a57fd2c53a44ea53262742d90ff11e0fd">acknowledge</a>(<span class="keyword">const</span> MessageIdList&amp; messageIdList);</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span></div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a03898cea6e3f07684b78cb8d9c91741c">  212</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a03898cea6e3f07684b78cb8d9c91741c">acknowledgeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message, <span class="keyword">const</span [...]
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a5ce95d023c261c0df66ae867f46e6bf9">  223</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a5ce95d023c261c0df66ae867f46e6bf9">acknowledgeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, <span class="keyword">cons [...]
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span></div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#aeba1b5d159432bc9d72dba2e6be1b8ac">  231</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#aeba1b5d159432bc9d72dba2e6be1b8ac">acknowledgeAsync</a>(<span class="keyword">const</span> MessageIdList&amp; messageIdList, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.ht [...]
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3eb0b0db2da0628da15d3f242e254f6d">  250</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a3eb0b0db2da0628da15d3f242e254f6d">acknowledgeCumulative</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_me [...]
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span></div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a79558de7435fd0b6ca0bde84f3061822">  268</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a79558de7435fd0b6ca0bde84f3061822">acknowledgeCumulative</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_me [...]
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span></div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a9595ca8b28b2986e0fca503af4d4a5d7">  280</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a9595ca8b28b2986e0fca503af4d4a5d7">acknowledgeCumulativeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message, <span class="keyword">c [...]
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span></div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ab02b777ce0286f4450a3429c4daed86d">  292</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#ab02b777ce0286f4450a3429c4daed86d">acknowledgeCumulativeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, <span class="key [...]
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span></div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3cd227d9be2ae090c3a55bcdfff1df69">  324</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a3cd227d9be2ae090c3a55bcdfff1df69">negativeAcknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message);</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span></div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#afd631d1c357bc0284afe3e0cd2acbd6e">  356</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#afd631d1c357bc0284afe3e0cd2acbd6e">negativeAcknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span></div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a8b01803221c283e4df21715aeb024b84">  361</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a8b01803221c283e4df21715aeb024b84">close</a>();</div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span></div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a58fd2875d7a3a4239c0b13e782ca55f8">  367</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a58fd2875d7a3a4239c0b13e782ca55f8">closeAsync</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>&amp; callback);</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span></div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a7370b7a19a08fdff5b044e74ad8bd679">  372</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a7370b7a19a08fdff5b044e74ad8bd679">pauseMessageListener</a>();</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span></div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a02a9a412f1aa7f1ec8dc0c0134315b66">  378</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a02a9a412f1aa7f1ec8dc0c0134315b66">resumeMessageListener</a>();</div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span></div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3d60ee12b0e9766d60c3a8e08a61287a">  389</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a3d60ee12b0e9766d60c3a8e08a61287a">redeliverUnacknowledgedMessages</a>();</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span></div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a617639e11e05ecba3d013d831578d19d">  403</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a617639e11e05ecba3d013d831578d19d">getBrokerConsumerStats</a>(<a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerCo [...]
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span></div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a13515d5c407816afa06099663de17d7d">  416</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a13515d5c407816afa06099663de17d7d">getBrokerConsumerStatsAsync</a>(<span class="keyword">const</span> BrokerConsumerStatsCallback&amp; callback);</div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span></div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a45800c18df817caabe6cd9c21e7d72b3">  428</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a45800c18df817caabe6cd9c21e7d72b3">seek</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">Me [...]
+<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span></div>
+<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ae6835e612b61795a13eff5fd2da85a0e">  436</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#ae6835e612b61795a13eff5fd2da85a0e">seek</a>(uint64_t timestamp);</div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span></div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a2353c67cc423caefb35490278a07d339">  448</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a2353c67cc423caefb35490278a07d339">seekAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; message [...]
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span></div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a80828a506f7150b68d2a27ebe7502b2f">  456</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a80828a506f7150b68d2a27ebe7502b2f">seekAsync</a>(uint64_t timestamp, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e39 [...]
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span></div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a95a69d39ec2c8714b6ffce0f6ab74a55">  461</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a95a69d39ec2c8714b6ffce0f6ab74a55">isConnected</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span></div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a637bd62a5d63ea06b3f1ddb976d1459c">  467</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a637bd62a5d63ea06b3f1ddb976d1459c">getLastMessageIdAsync</a>(<span class="keyword">const</span> GetLastMessageIdCallback&amp; callback);</div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span></div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#af60a7e87b76e5c69ee0e14f6ec902908">  472</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#af60a7e87b76e5c69ee0e14f6ec902908">getLastMessageId</a>(<a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messag [...]
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span> </div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>    ConsumerImplBasePtr impl_;</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span>    <span class="keyword">explicit</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">Consumer</a>(ConsumerImplBasePtr);</div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span> </div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  480</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MultiTopicsConsumerImpl;</div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientImpl;</div>
+<div class="line"><a id="l00483" name="l00483"></a><span class="lineno">  483</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerTest;</div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  484</span>};</div>
+</div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span><span class="preprocessor">#endif </span><span class="comment">/* CONSUMER_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html">pulsar::BrokerConsumerStats</a></div><div class="ttdef"><b>Definition</b> BrokerConsumerStats.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a02a9a412f1aa7f1ec8dc0c0134315b66"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a02a9a412f1aa7f1ec8dc0c0134315b66">pulsar::Consumer::resumeMessageListener</a></div><div class="ttdeci">Result resumeMessageListener()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a03898cea6e3f07684b78cb8d9c91741c"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a03898cea6e3f07684b78cb8d9c91741c">pulsar::Consumer::acknowledgeAsync</a></div><div class="ttdeci">void acknowledgeAsync(const Message &amp;message, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a13515d5c407816afa06099663de17d7d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a13515d5c407816afa06099663de17d7d">pulsar::Consumer::getBrokerConsumerStatsAsync</a></div><div class="ttdeci">void getBrokerConsumerStatsAsync(const BrokerConsumerStatsCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a2353c67cc423caefb35490278a07d339"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a2353c67cc423caefb35490278a07d339">pulsar::Consumer::seekAsync</a></div><div class="ttdeci">virtual void seekAsync(const MessageId &amp;messageId, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a2a3a5c0ca53537d6c2aeecbc9d850e6a"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a2a3a5c0ca53537d6c2aeecbc9d850e6a">pulsar::Consumer::unsubscribeAsync</a></div><div class="ttdeci">void unsubscribeAsync(const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3c3eb5056f228d281798f9ea75f52af9"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3c3eb5056f228d281798f9ea75f52af9">pulsar::Consumer::acknowledge</a></div><div class="ttdeci">Result acknowledge(const Message &amp;message)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3cd227d9be2ae090c3a55bcdfff1df69"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3cd227d9be2ae090c3a55bcdfff1df69">pulsar::Consumer::negativeAcknowledge</a></div><div class="ttdeci">void negativeAcknowledge(const Message &amp;message)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3d60ee12b0e9766d60c3a8e08a61287a"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3d60ee12b0e9766d60c3a8e08a61287a">pulsar::Consumer::redeliverUnacknowledgedMessages</a></div><div class="ttdeci">void redeliverUnacknowledgedMessages()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3eb0b0db2da0628da15d3f242e254f6d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3eb0b0db2da0628da15d3f242e254f6d">pulsar::Consumer::acknowledgeCumulative</a></div><div class="ttdeci">Result acknowledgeCumulative(const Message &amp;message)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a45800c18df817caabe6cd9c21e7d72b3"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a45800c18df817caabe6cd9c21e7d72b3">pulsar::Consumer::seek</a></div><div class="ttdeci">Result seek(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a49c846a386d778df94a1439982be5cbd"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a49c846a386d778df94a1439982be5cbd">pulsar::Consumer::batchReceive</a></div><div class="ttdeci">Result batchReceive(Messages &amp;msgs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a542ca0a9473a03ccf8bd8aeed24de490"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a542ca0a9473a03ccf8bd8aeed24de490">pulsar::Consumer::unsubscribe</a></div><div class="ttdeci">Result unsubscribe()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a57fd2c53a44ea53262742d90ff11e0fd"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a57fd2c53a44ea53262742d90ff11e0fd">pulsar::Consumer::acknowledge</a></div><div class="ttdeci">Result acknowledge(const MessageIdList &amp;messageIdList)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a58fd2875d7a3a4239c0b13e782ca55f8"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a58fd2875d7a3a4239c0b13e782ca55f8">pulsar::Consumer::closeAsync</a></div><div class="ttdeci">void closeAsync(const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a5ce95d023c261c0df66ae867f46e6bf9"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a5ce95d023c261c0df66ae867f46e6bf9">pulsar::Consumer::acknowledgeAsync</a></div><div class="ttdeci">void acknowledgeAsync(const MessageId &amp;messageId, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a617639e11e05ecba3d013d831578d19d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a617639e11e05ecba3d013d831578d19d">pulsar::Consumer::getBrokerConsumerStats</a></div><div class="ttdeci">Result getBrokerConsumerStats(BrokerConsumerStats &amp;brokerConsumerStats)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a637bd62a5d63ea06b3f1ddb976d1459c"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a637bd62a5d63ea06b3f1ddb976d1459c">pulsar::Consumer::getLastMessageIdAsync</a></div><div class="ttdeci">void getLastMessageIdAsync(const GetLastMessageIdCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a7370b7a19a08fdff5b044e74ad8bd679"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a7370b7a19a08fdff5b044e74ad8bd679">pulsar::Consumer::pauseMessageListener</a></div><div class="ttdeci">Result pauseMessageListener()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a79558de7435fd0b6ca0bde84f3061822"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a79558de7435fd0b6ca0bde84f3061822">pulsar::Consumer::acknowledgeCumulative</a></div><div class="ttdeci">Result acknowledgeCumulative(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a80828a506f7150b68d2a27ebe7502b2f"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a80828a506f7150b68d2a27ebe7502b2f">pulsar::Consumer::seekAsync</a></div><div class="ttdeci">virtual void seekAsync(uint64_t timestamp, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a83f58a6118a693398c16e70cecac0303"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a83f58a6118a693398c16e70cecac0303">pulsar::Consumer::getConsumerName</a></div><div class="ttdeci">const std::string &amp; getConsumerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a8b01803221c283e4df21715aeb024b84"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a8b01803221c283e4df21715aeb024b84">pulsar::Consumer::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a9595ca8b28b2986e0fca503af4d4a5d7"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a9595ca8b28b2986e0fca503af4d4a5d7">pulsar::Consumer::acknowledgeCumulativeAsync</a></div><div class="ttdeci">void acknowledgeCumulativeAsync(const Message &amp;message, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a95a69d39ec2c8714b6ffce0f6ab74a55"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a95a69d39ec2c8714b6ffce0f6ab74a55">pulsar::Consumer::isConnected</a></div><div class="ttdeci">bool isConnected() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a99703b58b62320701220041473f6a268"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a99703b58b62320701220041473f6a268">pulsar::Consumer::receiveAsync</a></div><div class="ttdeci">void receiveAsync(const ReceiveCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ab02b777ce0286f4450a3429c4daed86d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ab02b777ce0286f4450a3429c4daed86d">pulsar::Consumer::acknowledgeCumulativeAsync</a></div><div class="ttdeci">void acknowledgeCumulativeAsync(const MessageId &amp;messageId, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_abc8cec6e81c582c6af8e3d931e41a2ad"><div class="ttname"><a href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">pulsar::Consumer::receive</a></div><div class="ttdeci">Result receive(Message &amp;msg)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ac13f007e453e3cc8ef36eb1dc43cb431"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ac13f007e453e3cc8ef36eb1dc43cb431">pulsar::Consumer::batchReceiveAsync</a></div><div class="ttdeci">void batchReceiveAsync(const BatchReceiveCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ace9475b70f37c91df5b442f41058370e"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ace9475b70f37c91df5b442f41058370e">pulsar::Consumer::receive</a></div><div class="ttdeci">Result receive(Message &amp;msg, int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ad55d95cd75501562d8ae6d83935d5977"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ad55d95cd75501562d8ae6d83935d5977">pulsar::Consumer::getTopic</a></div><div class="ttdeci">const std::string &amp; getTopic() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ae6835e612b61795a13eff5fd2da85a0e"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ae6835e612b61795a13eff5fd2da85a0e">pulsar::Consumer::seek</a></div><div class="ttdeci">Result seek(uint64_t timestamp)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_aeba1b5d159432bc9d72dba2e6be1b8ac"><div class="ttname"><a href="classpulsar_1_1_consumer.html#aeba1b5d159432bc9d72dba2e6be1b8ac">pulsar::Consumer::acknowledgeAsync</a></div><div class="ttdeci">void acknowledgeAsync(const MessageIdList &amp;messageIdList, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_aed10e043835e50d8129e6adecd91da72"><div class="ttname"><a href="classpulsar_1_1_consumer.html#aed10e043835e50d8129e6adecd91da72">pulsar::Consumer::acknowledge</a></div><div class="ttdeci">Result acknowledge(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_af6049caaf3e1f8bc91d4dc52b02ab7d1"><div class="ttname"><a href="classpulsar_1_1_consumer.html#af6049caaf3e1f8bc91d4dc52b02ab7d1">pulsar::Consumer::getSubscriptionName</a></div><div class="ttdeci">const std::string &amp; getSubscriptionName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_af60a7e87b76e5c69ee0e14f6ec902908"><div class="ttname"><a href="classpulsar_1_1_consumer.html#af60a7e87b76e5c69ee0e14f6ec902908">pulsar::Consumer::getLastMessageId</a></div><div class="ttdeci">Result getLastMessageId(MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_afd631d1c357bc0284afe3e0cd2acbd6e"><div class="ttname"><a href="classpulsar_1_1_consumer.html#afd631d1c357bc0284afe3e0cd2acbd6e">pulsar::Consumer::negativeAcknowledge</a></div><div class="ttdeci">void negativeAcknowledge(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_afe59503d5d5309f38d4e246bd9f435b4"><div class="ttname"><a href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">pulsar::Consumer::Consumer</a></div><div class="ttdeci">Consumer()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_typed_message_html"><div class="ttname"><a href="classpulsar_1_1_typed_message.html">pulsar::TypedMessage</a></div><div class="ttdef"><b>Definition</b> TypedMessage.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac87806090d752fb2248e8da65727630a"><div class="ttname"><a href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">pulsar::Messages</a></div><div class="ttdeci">std::vector&lt; Message &gt; Messages</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:49</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_consumer_configuration_8h_source.html b/static/api/cpp/4.2.x/_consumer_configuration_8h_source.html
new file mode 100644
index 00000000000..10417a9c6e8
--- /dev/null
+++ b/static/api/cpp/4.2.x/_consumer_configuration_8h_source.html
@@ -0,0 +1,405 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ConsumerConfiguration.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CONSUMERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CONSUMERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ConsumerCryptoFailureAction.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ConsumerEventListener.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/ConsumerInterceptor.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/ConsumerType.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/CryptoKeyReader.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/InitialPosition.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/KeySharedPolicy.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;pulsar/RegexSubscriptionMode.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;pulsar/TypedMessage.h&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#include &quot;BatchReceivePolicy.h&quot;</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#include &quot;DeadLetterPolicy.h&quot;</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">   49</a></span><span class="keyword">typedef</span> std::vector&lt;Message&gt; <a class="code hl_typedef" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Messages</a>;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">   50</a></span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result)&gt; <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg)&gt; ReceiveCallback;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Messages</a>&amp; msgs)&gt; BatchReceiveCallback;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a> messageId)&gt; GetLastMessageIdCallback;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">   56</a></span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg)&gt; <a class="code hl_typedef" href="namespacepulsar.html#a [...]
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="keyword">typedef</span> std::shared_ptr&lt;ConsumerEventListener&gt; ConsumerEventListenerPtr;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="keyword">struct </span>ConsumerConfigurationImpl;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span></div>
+<div class="foldopen" id="foldopen00065" data-start="{" data-end="};">
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html">   65</a></span><span class="keyword">class </span>PULSAR_PUBLIC ConsumerConfiguration {</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>    ConsumerConfiguration();</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>    ~ConsumerConfiguration();</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>    ConsumerConfiguration(<span class="keyword">const</span> ConsumerConfiguration&amp;);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>    ConsumerConfiguration&amp; operator=(<span class="keyword">const</span> ConsumerConfiguration&amp;);</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ae5d5850e9e0f3130424860e6715b0fa0">   76</a></span>    ConsumerConfiguration <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ae5d5850e9e0f3130424860e6715b0fa0">clone</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span></div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a79d9ef9f0698713b38f260b0b46d191f">   86</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a79d9ef9f0698713b38f260b0b46d191f">setSchema</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; schemaInfo);</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#acc102de37a90b103be92a24e92fac432">   91</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#acc102de37a90b103be92a24e92fac432">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5029c0a8bc51a764fdd4eaf37e56964d">  105</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5029c0a8bc51a764fdd4eaf37e56964d">setConsumerType</a>(<a class="code hl_enumeration" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">ConsumerType</a> consumerType);</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a1a7a0dd0f141ae5816c117727f1c201d">  110</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">ConsumerType</a> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a1a7a0dd0f141ae5816c117727f1c201d">getConsumerType</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ac1e3ec759196f4c1be69fcb73f02002d">  120</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ac1e3ec759196f4c1be69fcb73f02002d">setKeySharedPolicy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp; keySh [...]
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span></div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad8febc1509d73daaaa061b5c53f7735b">  125</a></span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad8febc1509d73daaaa061b5c53f7735b">getKeySharedPolicy</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span></div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a996399917ff343715bf29afe07981c83">  132</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a996399917ff343715bf29afe07981c83">setMessageListener</a>(<a class="code hl_typedef" href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">MessageListener</a> messageListener);</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    ConsumerConfiguration&amp; setTypedMessageListener(</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>        std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp;, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp;)&gt; listener,</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>        <span class="keywordflow">return</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a996399917ff343715bf29afe07981c83">setMessageListener</a>([listener, decoder](<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; m [...]
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>            listener(consumer, <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{msg, decoder});</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>        });</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    }</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a2dcd50261f7fefa42b8fce239ef12f00">  146</a></span>    <a class="code hl_typedef" href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">MessageListener</a> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a2dcd50261f7fefa42b8fce239ef12f00">getMessageListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span></div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#afe5439f3160e601a09e62237d2377c1a">  151</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#afe5439f3160e601a09e62237d2377c1a">hasMessageListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span></div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a6589512011ad7daf2b9eeaaaf4020842">  157</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a6589512011ad7daf2b9eeaaaf4020842">setConsumerEventListener</a>(ConsumerEventListenerPtr eventListener);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad58be2c7d04522d70a4d4cd447b639b3">  162</a></span>    ConsumerEventListenerPtr <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad58be2c7d04522d70a4d4cd447b639b3">getConsumerEventListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#abc2cdbdc7878fca3205ec77cea2b1fa2">  167</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#abc2cdbdc7878fca3205ec77cea2b1fa2">hasConsumerEventListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a265d2cd1e9d1d329eff9b98346f245c2">  190</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a265d2cd1e9d1d329eff9b98346f245c2">setReceiverQueueSize</a>(<span class="keywordtype">int</span> size);</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span></div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5c268fc7714916cf25c4a34a55a5bdc4">  195</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5c268fc7714916cf25c4a34a55a5bdc4">getReceiverQueueSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span></div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9c07888abe996b80c2fd168278a24de3">  205</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9c07888abe996b80c2fd168278a24de3">setMaxTotalReceiverQueueSizeAcrossPartitions</a>(<span class="keywordtype">int</span> maxTotalReceiverQueueSizeAcrossPartitions);</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span></div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#abffc95603a9f983528b4dba82324f146">  210</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#abffc95603a9f983528b4dba82324f146">getMaxTotalReceiverQueueSizeAcrossPartitions</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span></div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9a9c38d660aabc9162295de38bc26b77">  217</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9a9c38d660aabc9162295de38bc26b77">setConsumerName</a>(<span class="keyword">const</span> std::string&amp; consumerName);</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af3941af5ed7e7f4ab7b5f5a8737eaee9">  222</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#af3941af5ed7e7f4ab7b5f5a8737eaee9">getConsumerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span></div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad55a4f0187517c984de8d01f8660fb8f">  234</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad55a4f0187517c984de8d01f8660fb8f">setUnAckedMessagesTimeoutMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span></div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a373ab78d91d7fbbd0c9b721ba1f34f26">  239</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a373ab78d91d7fbbd0c9b721ba1f34f26">getUnAckedMessagesTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span></div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4">  252</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4">setTickDurationInMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span></div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a2b45112da6be71eaaff4513bf96a73c0">  257</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a2b45112da6be71eaaff4513bf96a73c0">getTickDurationInMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span></div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">  271</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">setNegativeAckRedeliveryDelayMs</a>(<span class="keywordtype">long</span> redeliveryDelayMillis);</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span></div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a7a4adb22969050a6bfd6919e2ac68917">  278</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a7a4adb22969050a6bfd6919e2ac68917">getNegativeAckRedeliveryDelayMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span></div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad7ef62829853fa444758fa838ee158e7">  286</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad7ef62829853fa444758fa838ee158e7">setNegativeAckPrecisionBitCnt</a>(<span class="keywordtype">int</span> negativeAckPrecisionBitCnt);</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span></div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ab6f417feae614eb4a9599133b06932b6">  293</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ab6f417feae614eb4a9599133b06932b6">getNegativeAckPrecisionBitCnt</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span></div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af3f26276c9027a78b9e3243a3e2e38bb">  303</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#af3f26276c9027a78b9e3243a3e2e38bb">setAckGroupingTimeMs</a>(<span class="keywordtype">long</span> ackGroupingMillis);</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span></div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#abc531b79e46a4c2fc70cec8ca573d194">  310</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#abc531b79e46a4c2fc70cec8ca573d194">getAckGroupingTimeMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span></div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a593295c1aa0cd77c32a6cfdee80cd452">  318</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a593295c1aa0cd77c32a6cfdee80cd452">setAckGroupingMaxSize</a>(<span class="keywordtype">long</span> maxGroupingSize);</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span></div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5eeb586f29508eca6d1cd602a8da7a06">  325</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5eeb586f29508eca6d1cd602a8da7a06">getAckGroupingMaxSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span></div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a453a6af922fea7c45d56264d57925507">  334</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a453a6af922fea7c45d56264d57925507">setBrokerConsumerStatsCacheTimeInMs</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> cacheTimeInMs);</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span></div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a23fd67606f5ca05a158226cbd0a2eb54">  339</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a23fd67606f5ca05a158226cbd0a2eb54">getBrokerConsumerStatsCacheTimeInMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span></div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ac9a6a885f0cea261f32dc4a3509643f4">  344</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ac9a6a885f0cea261f32dc4a3509643f4">isEncryptionEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span></div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a70089f562cb67d8743165540235b2ec7">  349</a></span>    <span class="keyword">const</span> CryptoKeyReaderPtr <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a70089f562cb67d8743165540235b2ec7">getCryptoKeyReader</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span></div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9ff24549af7bda3f2f4da4cce299eb5d">  356</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9ff24549af7bda3f2f4da4cce299eb5d">setCryptoKeyReader</a>(CryptoKeyReaderPtr cryptoKeyReader);</div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span></div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a339e3d80453eb963d5d1a64c5660e556">  361</a></span>    ConsumerCryptoFailureAction <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a339e3d80453eb963d5d1a64c5660e556">getCryptoFailureAction</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#aadf3be3099c2bbb4354839e21a48e875">  366</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#aadf3be3099c2bbb4354839e21a48e875">setCryptoFailureAction</a>(ConsumerCryptoFailureAction action);</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span></div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a74209a513ebdb85f5969f2fedafb0b44">  371</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a74209a513ebdb85f5969f2fedafb0b44">isReadCompacted</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span></div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ae3f12b9f76982d8ea64f80adfb8af960">  386</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ae3f12b9f76982d8ea64f80adfb8af960">setReadCompacted</a>(<span class="keywordtype">bool</span> compacted);</div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno">  387</span></div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5910aa7539a7fb217a38813d846a9acb">  395</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5910aa7539a7fb217a38813d846a9acb">setPatternAutoDiscoveryPeriod</a>(<span class="keywordtype">int</span> periodInSeconds);</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span></div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5034a765b5b60ea71f1beead267ff88f">  400</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5034a765b5b60ea71f1beead267ff88f">getPatternAutoDiscoveryPeriod</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span></div>
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a56726bee70b41cc2832fae59a38837a4">  408</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a56726bee70b41cc2832fae59a38837a4">setRegexSubscriptionMode</a>(<a class="code hl_enumeration" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">RegexSubscriptionMode</a> regexSubscr [...]
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span></div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a74fc4ee3cb49f470b46914a3f7d03c6d">  413</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">RegexSubscriptionMode</a> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a74fc4ee3cb49f470b46914a3f7d03c6d">getRegexSubscriptionMode</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span></div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ab0e049e62befb9b924307ba6f990cd97">  421</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ab0e049e62befb9b924307ba6f990cd97">setSubscriptionInitialPosition</a>(InitialPosition subscriptionInitialPosition);</div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span></div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5ceb47d60826a738ed122cd962220ef7">  426</a></span>    InitialPosition <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5ceb47d60826a738ed122cd962220ef7">getSubscriptionInitialPosition</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span></div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a576115b74c66df74662b2e4f00a69731">  434</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a576115b74c66df74662b2e4f00a69731">setBatchReceivePolicy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_batch_receive_policy.html">BatchReceiveP [...]
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span></div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a95a0726c17b428ffa58824171758a6ac">  441</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_batch_receive_policy.html">BatchReceivePolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a95a0726c17b428ffa58824171758a6ac">getBatchReceivePolicy</a>() <span class="keyword" [...]
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span></div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a84033093b1bf99d7c843634fdc8a32ec">  470</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a84033093b1bf99d7c843634fdc8a32ec">setDeadLetterPolicy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy< [...]
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span></div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a123b495132d47e17f0cd82f9163eb8c8">  477</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a123b495132d47e17f0cd82f9163eb8c8">getDeadLetterPolicy</a>() <span class="keyword">const [...]
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span></div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a70a15216ef41c8bd38178bdc5e377a31">  485</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a70a15216ef41c8bd38178bdc5e377a31">setReplicateSubscriptionStateEnabled</a>(<span class="keywordtype">bool</span> enabled);</div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span></div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a4ab6c45eb256e8ad9ec4d74199e5c01d">  490</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a4ab6c45eb256e8ad9ec4d74199e5c01d">isReplicateSubscriptionStateEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span></div>
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a8aab5c5bd65073257d0509d410099570">  499</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8aab5c5bd65073257d0509d410099570">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span></div>
+<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">  507</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span></div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5982ae123e367df322be897f81337ad0">  512</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5982ae123e367df322be897f81337ad0">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span></div>
+<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">  519</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; value);</div>
+<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span></div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">  524</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">setProperties</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; properties);</div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno">  525</span></div>
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#aaa9a9a19c4445bb6521c2b3d1a2037f6">  529</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#aaa9a9a19c4445bb6521c2b3d1a2037f6">getSubscriptionProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span></div>
+<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ae60097f3b91d2291dd121e3573f55855">  538</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ae60097f3b91d2291dd121e3573f55855">setSubscriptionProperties</a>(</div>
+<div class="line"><a id="l00539" name="l00539"></a><span class="lineno">  539</span>        <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; subscriptionProperties);</div>
+<div class="line"><a id="l00540" name="l00540"></a><span class="lineno">  540</span></div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a09492153409160a4993796f88caadd23">  547</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a09492153409160a4993796f88caadd23">setPriorityLevel</a>(<span class="keywordtype">int</span> priorityLevel);</div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span></div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a47dd7c844d904d52d3a2d5f4b498402d">  552</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a47dd7c844d904d52d3a2d5f4b498402d">getPriorityLevel</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span></div>
+<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9d17c5b2ed6547ce9e37fad4438e6e83">  575</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9d17c5b2ed6547ce9e37fad4438e6e83">setMaxPendingChunkedMessage</a>(<span class="keywordtype">size_t</span> maxPendingChunkedMessage);</div>
+<div class="line"><a id="l00576" name="l00576"></a><span class="lineno">  576</span></div>
+<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a46e9481689880f756588075f64913bb7">  580</a></span>    <span class="keywordtype">size_t</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a46e9481689880f756588075f64913bb7">getMaxPendingChunkedMessage</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span></div>
+<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a3f11566f0654bd4a9df8e7852e4e048e">  592</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a3f11566f0654bd4a9df8e7852e4e048e">setAutoAckOldestChunkedMessageOnQueueFull</a>(</div>
+<div class="line"><a id="l00593" name="l00593"></a><span class="lineno">  593</span>        <span class="keywordtype">bool</span> autoAckOldestChunkedMessageOnQueueFull);</div>
+<div class="line"><a id="l00594" name="l00594"></a><span class="lineno">  594</span></div>
+<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a4f978c3e8ff479ed0fea93eba5275f6d">  598</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a4f978c3e8ff479ed0fea93eba5275f6d">isAutoAckOldestChunkedMessageOnQueueFull</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00599" name="l00599"></a><span class="lineno">  599</span></div>
+<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ac1bf9941a3dbb3948e76b9638d188ea9">  609</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ac1bf9941a3dbb3948e76b9638d188ea9">setExpireTimeOfIncompleteChunkedMessageMs</a>(</div>
+<div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  610</span>        <span class="keywordtype">long</span> expireTimeOfIncompleteChunkedMessageMs);</div>
+<div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span></div>
+<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5caba4e5a875b67c4cf4c794461e4e8d">  618</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5caba4e5a875b67c4cf4c794461e4e8d">getExpireTimeOfIncompleteChunkedMessageMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  619</span></div>
+<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af4085925dc8b62bec126cd3ea1e1085a">  627</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#af4085925dc8b62bec126cd3ea1e1085a">setStartMessageIdInclusive</a>(<span class="keywordtype">bool</span> startMessageIdInclusive);</div>
+<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span></div>
+<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a968b4d4ae6348072965ab98bf1e7212e">  632</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a968b4d4ae6348072965ab98bf1e7212e">isStartMessageIdInclusive</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span></div>
+<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a19565e5aabcb066e97fed95be4724151">  644</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a19565e5aabcb066e97fed95be4724151">setBatchIndexAckEnabled</a>(<span class="keywordtype">bool</span> enabled);</div>
+<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span></div>
+<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a1f5847ecf1c8f77992b1a4c110011c9a">  649</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a1f5847ecf1c8f77992b1a4c110011c9a">isBatchIndexAckEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span></div>
+<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">  657</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">intercept</a>(<span class="keyword">const</span> std::vector&lt;ConsumerInterceptorPtr&gt;&amp; interceptors);</div>
+<div class="line"><a id="l00658" name="l00658"></a><span class="lineno">  658</span> </div>
+<div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span>    <span class="keyword">const</span> std::vector&lt;ConsumerInterceptorPtr&gt;&amp; getInterceptors() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00660" name="l00660"></a><span class="lineno">  660</span></div>
+<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a3f16bf6b26ddb301c03fcb58e31bdd21">  670</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a3f16bf6b26ddb301c03fcb58e31bdd21">setAckReceiptEnabled</a>(<span class="keywordtype">bool</span> ackReceiptEnabled);</div>
+<div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span></div>
+<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af4f7966e4662ecb250893927909269a3">  675</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#af4f7966e4662ecb250893927909269a3">isAckReceiptEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00676" name="l00676"></a><span class="lineno">  676</span></div>
+<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad6045687d882d661116ee2b57d5841ed">  685</a></span>    ConsumerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad6045687d882d661116ee2b57d5841ed">setStartPaused</a>(<span class="keywordtype">bool</span> startPaused);</div>
+<div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span></div>
+<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a2781a77b163a884f35963611072d7710">  690</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a2781a77b163a884f35963611072d7710">isStartPaused</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span> </div>
+<div class="line"><a id="l00692" name="l00692"></a><span class="lineno">  692</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span> </div>
+<div class="line"><a id="l00695" name="l00695"></a><span class="lineno">  695</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00696" name="l00696"></a><span class="lineno">  696</span>    std::shared_ptr&lt;ConsumerConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00697" name="l00697"></a><span class="lineno">  697</span>};</div>
+</div>
+<div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00699" name="l00699"></a><span class="lineno">  699</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_CONSUMERCONFIGURATION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html">pulsar::BatchReceivePolicy</a></div><div class="ttdef"><b>Definition</b> BatchReceivePolicy.h:52</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a093486de4b32d91655d8b4e45efd6d6f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">pulsar::ConsumerConfiguration::setProperties</a></div><div class="ttdeci">ConsumerConfiguration &amp; setProperties(const std::map&lt; std::string, std::string &gt; &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a09492153409160a4993796f88caadd23"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a09492153409160a4993796f88caadd23">pulsar::ConsumerConfiguration::setPriorityLevel</a></div><div class="ttdeci">ConsumerConfiguration &amp; setPriorityLevel(int priorityLevel)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a123b495132d47e17f0cd82f9163eb8c8"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a123b495132d47e17f0cd82f9163eb8c8">pulsar::ConsumerConfiguration::getDeadLetterPolicy</a></div><div class="ttdeci">const DeadLetterPolicy &amp; getDeadLetterPolicy() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a19565e5aabcb066e97fed95be4724151"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a19565e5aabcb066e97fed95be4724151">pulsar::ConsumerConfiguration::setBatchIndexAckEnabled</a></div><div class="ttdeci">ConsumerConfiguration &amp; setBatchIndexAckEnabled(bool enabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a1a7a0dd0f141ae5816c117727f1c201d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a1a7a0dd0f141ae5816c117727f1c201d">pulsar::ConsumerConfiguration::getConsumerType</a></div><div class="ttdeci">ConsumerType getConsumerType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a1f5847ecf1c8f77992b1a4c110011c9a"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a1f5847ecf1c8f77992b1a4c110011c9a">pulsar::ConsumerConfiguration::isBatchIndexAckEnabled</a></div><div class="ttdeci">bool isBatchIndexAckEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a23fd67606f5ca05a158226cbd0a2eb54"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a23fd67606f5ca05a158226cbd0a2eb54">pulsar::ConsumerConfiguration::getBrokerConsumerStatsCacheTimeInMs</a></div><div class="ttdeci">long getBrokerConsumerStatsCacheTimeInMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a265d2cd1e9d1d329eff9b98346f245c2"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a265d2cd1e9d1d329eff9b98346f245c2">pulsar::ConsumerConfiguration::setReceiverQueueSize</a></div><div class="ttdeci">void setReceiverQueueSize(int size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a2781a77b163a884f35963611072d7710"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a2781a77b163a884f35963611072d7710">pulsar::ConsumerConfiguration::isStartPaused</a></div><div class="ttdeci">bool isStartPaused() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a2b45112da6be71eaaff4513bf96a73c0"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a2b45112da6be71eaaff4513bf96a73c0">pulsar::ConsumerConfiguration::getTickDurationInMs</a></div><div class="ttdeci">long getTickDurationInMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a2dcd50261f7fefa42b8fce239ef12f00"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a2dcd50261f7fefa42b8fce239ef12f00">pulsar::ConsumerConfiguration::getMessageListener</a></div><div class="ttdeci">MessageListener getMessageListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a339e3d80453eb963d5d1a64c5660e556"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a339e3d80453eb963d5d1a64c5660e556">pulsar::ConsumerConfiguration::getCryptoFailureAction</a></div><div class="ttdeci">ConsumerCryptoFailureAction getCryptoFailureAction() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a373ab78d91d7fbbd0c9b721ba1f34f26"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a373ab78d91d7fbbd0c9b721ba1f34f26">pulsar::ConsumerConfiguration::getUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">long getUnAckedMessagesTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a37bf6928179a14ab9b2af6e69befa2d8"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">pulsar::ConsumerConfiguration::intercept</a></div><div class="ttdeci">ConsumerConfiguration &amp; intercept(const std::vector&lt; ConsumerInterceptorPtr &gt; &amp;interceptors)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a3f11566f0654bd4a9df8e7852e4e048e"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a3f11566f0654bd4a9df8e7852e4e048e">pulsar::ConsumerConfiguration::setAutoAckOldestChunkedMessageOnQueueFull</a></div><div class="ttdeci">ConsumerConfiguration &amp; setAutoAckOldestChunkedMessageOnQueueFull(bool autoAckOldestChunkedMessageOnQueueFull)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a3f16bf6b26ddb301c03fcb58e31bdd21"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a3f16bf6b26ddb301c03fcb58e31bdd21">pulsar::ConsumerConfiguration::setAckReceiptEnabled</a></div><div class="ttdeci">ConsumerConfiguration &amp; setAckReceiptEnabled(bool ackReceiptEnabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a453a6af922fea7c45d56264d57925507"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a453a6af922fea7c45d56264d57925507">pulsar::ConsumerConfiguration::setBrokerConsumerStatsCacheTimeInMs</a></div><div class="ttdeci">void setBrokerConsumerStatsCacheTimeInMs(const long cacheTimeInMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a46e9481689880f756588075f64913bb7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a46e9481689880f756588075f64913bb7">pulsar::ConsumerConfiguration::getMaxPendingChunkedMessage</a></div><div class="ttdeci">size_t getMaxPendingChunkedMessage() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a47dd7c844d904d52d3a2d5f4b498402d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a47dd7c844d904d52d3a2d5f4b498402d">pulsar::ConsumerConfiguration::getPriorityLevel</a></div><div class="ttdeci">int getPriorityLevel() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a4ab6c45eb256e8ad9ec4d74199e5c01d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a4ab6c45eb256e8ad9ec4d74199e5c01d">pulsar::ConsumerConfiguration::isReplicateSubscriptionStateEnabled</a></div><div class="ttdeci">bool isReplicateSubscriptionStateEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a4f978c3e8ff479ed0fea93eba5275f6d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a4f978c3e8ff479ed0fea93eba5275f6d">pulsar::ConsumerConfiguration::isAutoAckOldestChunkedMessageOnQueueFull</a></div><div class="ttdeci">bool isAutoAckOldestChunkedMessageOnQueueFull() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5029c0a8bc51a764fdd4eaf37e56964d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5029c0a8bc51a764fdd4eaf37e56964d">pulsar::ConsumerConfiguration::setConsumerType</a></div><div class="ttdeci">ConsumerConfiguration &amp; setConsumerType(ConsumerType consumerType)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5034a765b5b60ea71f1beead267ff88f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5034a765b5b60ea71f1beead267ff88f">pulsar::ConsumerConfiguration::getPatternAutoDiscoveryPeriod</a></div><div class="ttdeci">int getPatternAutoDiscoveryPeriod() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a56726bee70b41cc2832fae59a38837a4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a56726bee70b41cc2832fae59a38837a4">pulsar::ConsumerConfiguration::setRegexSubscriptionMode</a></div><div class="ttdeci">ConsumerConfiguration &amp; setRegexSubscriptionMode(RegexSubscriptionMode regexSubscriptionMode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a576115b74c66df74662b2e4f00a69731"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a576115b74c66df74662b2e4f00a69731">pulsar::ConsumerConfiguration::setBatchReceivePolicy</a></div><div class="ttdeci">void setBatchReceivePolicy(const BatchReceivePolicy &amp;batchReceivePolicy)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5910aa7539a7fb217a38813d846a9acb"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5910aa7539a7fb217a38813d846a9acb">pulsar::ConsumerConfiguration::setPatternAutoDiscoveryPeriod</a></div><div class="ttdeci">void setPatternAutoDiscoveryPeriod(int periodInSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a593295c1aa0cd77c32a6cfdee80cd452"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a593295c1aa0cd77c32a6cfdee80cd452">pulsar::ConsumerConfiguration::setAckGroupingMaxSize</a></div><div class="ttdeci">void setAckGroupingMaxSize(long maxGroupingSize)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5982ae123e367df322be897f81337ad0"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5982ae123e367df322be897f81337ad0">pulsar::ConsumerConfiguration::getProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5c268fc7714916cf25c4a34a55a5bdc4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5c268fc7714916cf25c4a34a55a5bdc4">pulsar::ConsumerConfiguration::getReceiverQueueSize</a></div><div class="ttdeci">int getReceiverQueueSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5caba4e5a875b67c4cf4c794461e4e8d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5caba4e5a875b67c4cf4c794461e4e8d">pulsar::ConsumerConfiguration::getExpireTimeOfIncompleteChunkedMessageMs</a></div><div class="ttdeci">long getExpireTimeOfIncompleteChunkedMessageMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5ceb47d60826a738ed122cd962220ef7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5ceb47d60826a738ed122cd962220ef7">pulsar::ConsumerConfiguration::getSubscriptionInitialPosition</a></div><div class="ttdeci">InitialPosition getSubscriptionInitialPosition() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5eeb586f29508eca6d1cd602a8da7a06"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5eeb586f29508eca6d1cd602a8da7a06">pulsar::ConsumerConfiguration::getAckGroupingMaxSize</a></div><div class="ttdeci">long getAckGroupingMaxSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a6589512011ad7daf2b9eeaaaf4020842"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a6589512011ad7daf2b9eeaaaf4020842">pulsar::ConsumerConfiguration::setConsumerEventListener</a></div><div class="ttdeci">ConsumerConfiguration &amp; setConsumerEventListener(ConsumerEventListenerPtr eventListener)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a70089f562cb67d8743165540235b2ec7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a70089f562cb67d8743165540235b2ec7">pulsar::ConsumerConfiguration::getCryptoKeyReader</a></div><div class="ttdeci">const CryptoKeyReaderPtr getCryptoKeyReader() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a70a15216ef41c8bd38178bdc5e377a31"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a70a15216ef41c8bd38178bdc5e377a31">pulsar::ConsumerConfiguration::setReplicateSubscriptionStateEnabled</a></div><div class="ttdeci">void setReplicateSubscriptionStateEnabled(bool enabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a74209a513ebdb85f5969f2fedafb0b44"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a74209a513ebdb85f5969f2fedafb0b44">pulsar::ConsumerConfiguration::isReadCompacted</a></div><div class="ttdeci">bool isReadCompacted() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a74fc4ee3cb49f470b46914a3f7d03c6d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a74fc4ee3cb49f470b46914a3f7d03c6d">pulsar::ConsumerConfiguration::getRegexSubscriptionMode</a></div><div class="ttdeci">RegexSubscriptionMode getRegexSubscriptionMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a79d9ef9f0698713b38f260b0b46d191f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a79d9ef9f0698713b38f260b0b46d191f">pulsar::ConsumerConfiguration::setSchema</a></div><div class="ttdeci">ConsumerConfiguration &amp; setSchema(const SchemaInfo &amp;schemaInfo)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a7a4adb22969050a6bfd6919e2ac68917"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a7a4adb22969050a6bfd6919e2ac68917">pulsar::ConsumerConfiguration::getNegativeAckRedeliveryDelayMs</a></div><div class="ttdeci">long getNegativeAckRedeliveryDelayMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a84033093b1bf99d7c843634fdc8a32ec"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a84033093b1bf99d7c843634fdc8a32ec">pulsar::ConsumerConfiguration::setDeadLetterPolicy</a></div><div class="ttdeci">void setDeadLetterPolicy(const DeadLetterPolicy &amp;deadLetterPolicy)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a8aab5c5bd65073257d0509d410099570"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a8aab5c5bd65073257d0509d410099570">pulsar::ConsumerConfiguration::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a8b10f7a28e03a4929fc58aea5b67405d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">pulsar::ConsumerConfiguration::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4">pulsar::ConsumerConfiguration::setTickDurationInMs</a></div><div class="ttdeci">void setTickDurationInMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a95a0726c17b428ffa58824171758a6ac"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a95a0726c17b428ffa58824171758a6ac">pulsar::ConsumerConfiguration::getBatchReceivePolicy</a></div><div class="ttdeci">const BatchReceivePolicy &amp; getBatchReceivePolicy() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a968b4d4ae6348072965ab98bf1e7212e"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a968b4d4ae6348072965ab98bf1e7212e">pulsar::ConsumerConfiguration::isStartMessageIdInclusive</a></div><div class="ttdeci">bool isStartMessageIdInclusive() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a996399917ff343715bf29afe07981c83"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a996399917ff343715bf29afe07981c83">pulsar::ConsumerConfiguration::setMessageListener</a></div><div class="ttdeci">ConsumerConfiguration &amp; setMessageListener(MessageListener messageListener)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9a9c38d660aabc9162295de38bc26b77"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9a9c38d660aabc9162295de38bc26b77">pulsar::ConsumerConfiguration::setConsumerName</a></div><div class="ttdeci">void setConsumerName(const std::string &amp;consumerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9c07888abe996b80c2fd168278a24de3"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9c07888abe996b80c2fd168278a24de3">pulsar::ConsumerConfiguration::setMaxTotalReceiverQueueSizeAcrossPartitions</a></div><div class="ttdeci">void setMaxTotalReceiverQueueSizeAcrossPartitions(int maxTotalReceiverQueueSizeAcrossPartitions)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9d17c5b2ed6547ce9e37fad4438e6e83"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9d17c5b2ed6547ce9e37fad4438e6e83">pulsar::ConsumerConfiguration::setMaxPendingChunkedMessage</a></div><div class="ttdeci">ConsumerConfiguration &amp; setMaxPendingChunkedMessage(size_t maxPendingChunkedMessage)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9ff24549af7bda3f2f4da4cce299eb5d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9ff24549af7bda3f2f4da4cce299eb5d">pulsar::ConsumerConfiguration::setCryptoKeyReader</a></div><div class="ttdeci">ConsumerConfiguration &amp; setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_aaa9a9a19c4445bb6521c2b3d1a2037f6"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#aaa9a9a19c4445bb6521c2b3d1a2037f6">pulsar::ConsumerConfiguration::getSubscriptionProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getSubscriptionProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_aadf3be3099c2bbb4354839e21a48e875"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#aadf3be3099c2bbb4354839e21a48e875">pulsar::ConsumerConfiguration::setCryptoFailureAction</a></div><div class="ttdeci">ConsumerConfiguration &amp; setCryptoFailureAction(ConsumerCryptoFailureAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ab0e049e62befb9b924307ba6f990cd97"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ab0e049e62befb9b924307ba6f990cd97">pulsar::ConsumerConfiguration::setSubscriptionInitialPosition</a></div><div class="ttdeci">void setSubscriptionInitialPosition(InitialPosition subscriptionInitialPosition)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ab6f417feae614eb4a9599133b06932b6"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ab6f417feae614eb4a9599133b06932b6">pulsar::ConsumerConfiguration::getNegativeAckPrecisionBitCnt</a></div><div class="ttdeci">int getNegativeAckPrecisionBitCnt() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_abc2cdbdc7878fca3205ec77cea2b1fa2"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#abc2cdbdc7878fca3205ec77cea2b1fa2">pulsar::ConsumerConfiguration::hasConsumerEventListener</a></div><div class="ttdeci">bool hasConsumerEventListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_abc531b79e46a4c2fc70cec8ca573d194"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#abc531b79e46a4c2fc70cec8ca573d194">pulsar::ConsumerConfiguration::getAckGroupingTimeMs</a></div><div class="ttdeci">long getAckGroupingTimeMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_abffc95603a9f983528b4dba82324f146"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#abffc95603a9f983528b4dba82324f146">pulsar::ConsumerConfiguration::getMaxTotalReceiverQueueSizeAcrossPartitions</a></div><div class="ttdeci">int getMaxTotalReceiverQueueSizeAcrossPartitions() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ac1bf9941a3dbb3948e76b9638d188ea9"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ac1bf9941a3dbb3948e76b9638d188ea9">pulsar::ConsumerConfiguration::setExpireTimeOfIncompleteChunkedMessageMs</a></div><div class="ttdeci">ConsumerConfiguration &amp; setExpireTimeOfIncompleteChunkedMessageMs(long expireTimeOfIncompleteChunkedMessageMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ac1e3ec759196f4c1be69fcb73f02002d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ac1e3ec759196f4c1be69fcb73f02002d">pulsar::ConsumerConfiguration::setKeySharedPolicy</a></div><div class="ttdeci">ConsumerConfiguration &amp; setKeySharedPolicy(const KeySharedPolicy &amp;keySharedPolicy)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ac9a6a885f0cea261f32dc4a3509643f4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ac9a6a885f0cea261f32dc4a3509643f4">pulsar::ConsumerConfiguration::isEncryptionEnabled</a></div><div class="ttdeci">bool isEncryptionEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_acb0cfc0ded14bd3c324466a41c9aaf9e"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">pulsar::ConsumerConfiguration::setProperty</a></div><div class="ttdeci">ConsumerConfiguration &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_acc102de37a90b103be92a24e92fac432"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#acc102de37a90b103be92a24e92fac432">pulsar::ConsumerConfiguration::getSchema</a></div><div class="ttdeci">const SchemaInfo &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad55a4f0187517c984de8d01f8660fb8f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad55a4f0187517c984de8d01f8660fb8f">pulsar::ConsumerConfiguration::setUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad58be2c7d04522d70a4d4cd447b639b3"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad58be2c7d04522d70a4d4cd447b639b3">pulsar::ConsumerConfiguration::getConsumerEventListener</a></div><div class="ttdeci">ConsumerEventListenerPtr getConsumerEventListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad6045687d882d661116ee2b57d5841ed"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad6045687d882d661116ee2b57d5841ed">pulsar::ConsumerConfiguration::setStartPaused</a></div><div class="ttdeci">ConsumerConfiguration &amp; setStartPaused(bool startPaused)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad7ef62829853fa444758fa838ee158e7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad7ef62829853fa444758fa838ee158e7">pulsar::ConsumerConfiguration::setNegativeAckPrecisionBitCnt</a></div><div class="ttdeci">void setNegativeAckPrecisionBitCnt(int negativeAckPrecisionBitCnt)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad8febc1509d73daaaa061b5c53f7735b"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad8febc1509d73daaaa061b5c53f7735b">pulsar::ConsumerConfiguration::getKeySharedPolicy</a></div><div class="ttdeci">KeySharedPolicy getKeySharedPolicy() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ae3f12b9f76982d8ea64f80adfb8af960"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ae3f12b9f76982d8ea64f80adfb8af960">pulsar::ConsumerConfiguration::setReadCompacted</a></div><div class="ttdeci">void setReadCompacted(bool compacted)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ae5d5850e9e0f3130424860e6715b0fa0"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ae5d5850e9e0f3130424860e6715b0fa0">pulsar::ConsumerConfiguration::clone</a></div><div class="ttdeci">ConsumerConfiguration clone() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ae60097f3b91d2291dd121e3573f55855"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ae60097f3b91d2291dd121e3573f55855">pulsar::ConsumerConfiguration::setSubscriptionProperties</a></div><div class="ttdeci">ConsumerConfiguration &amp; setSubscriptionProperties(const std::map&lt; std::string, std::string &gt; &amp;subscriptionProperties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_aef99f71cd13324351864dd1e376d8788"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">pulsar::ConsumerConfiguration::setNegativeAckRedeliveryDelayMs</a></div><div class="ttdeci">void setNegativeAckRedeliveryDelayMs(long redeliveryDelayMillis)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af3941af5ed7e7f4ab7b5f5a8737eaee9"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af3941af5ed7e7f4ab7b5f5a8737eaee9">pulsar::ConsumerConfiguration::getConsumerName</a></div><div class="ttdeci">const std::string &amp; getConsumerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af3f26276c9027a78b9e3243a3e2e38bb"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af3f26276c9027a78b9e3243a3e2e38bb">pulsar::ConsumerConfiguration::setAckGroupingTimeMs</a></div><div class="ttdeci">void setAckGroupingTimeMs(long ackGroupingMillis)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af4085925dc8b62bec126cd3ea1e1085a"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af4085925dc8b62bec126cd3ea1e1085a">pulsar::ConsumerConfiguration::setStartMessageIdInclusive</a></div><div class="ttdeci">ConsumerConfiguration &amp; setStartMessageIdInclusive(bool startMessageIdInclusive)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af4f7966e4662ecb250893927909269a3"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af4f7966e4662ecb250893927909269a3">pulsar::ConsumerConfiguration::isAckReceiptEnabled</a></div><div class="ttdeci">bool isAckReceiptEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_afe5439f3160e601a09e62237d2377c1a"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#afe5439f3160e601a09e62237d2377c1a">pulsar::ConsumerConfiguration::hasMessageListener</a></div><div class="ttdeci">bool hasMessageListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html">pulsar::DeadLetterPolicy</a></div><div class="ttdef"><b>Definition</b> DeadLetterPolicy.h:36</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html">pulsar::KeySharedPolicy</a></div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:53</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:147</div></div>
+<div class="ttc" id="aclasspulsar_1_1_typed_message_html"><div class="ttname"><a href="classpulsar_1_1_typed_message.html">pulsar::TypedMessage</a></div><div class="ttdef"><b>Definition</b> TypedMessage.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8e"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">pulsar::ConsumerType</a></div><div class="ttdeci">ConsumerType</div><div class="ttdef"><b>Definition</b> ConsumerType.h:26</div></div>
+<div class="ttc" id="anamespacepulsar_html_aa2439b1ef83202e8d35359d0134f2d56"><div class="ttname"><a href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">pulsar::MessageListener</a></div><div class="ttdeci">std::function&lt; void(Consumer &amp;consumer, const Message &amp;msg)&gt; MessageListener</div><div class="ttdoc">Callback definition for MessageListener.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:56</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbd"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">pulsar::RegexSubscriptionMode</a></div><div class="ttdeci">RegexSubscriptionMode</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac87806090d752fb2248e8da65727630a"><div class="ttname"><a href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">pulsar::Messages</a></div><div class="ttdeci">std::vector&lt; Message &gt; Messages</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:49</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_consumer_crypto_failure_action_8h_source.html b/static/api/cpp/4.2.x/_consumer_crypto_failure_action_8h_source.html
new file mode 100644
index 00000000000..4491fb0eb93
--- /dev/null
+++ b/static/api/cpp/4.2.x/_consumer_crypto_failure_action_8h_source.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ConsumerCryptoFailureAction.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerCryptoFailureAction.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef CONSUMERCRYPTOFAILUREACTION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define CONSUMERCRYPTOFAILUREACTION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">enum class</span> ConsumerCryptoFailureAction</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span>{</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>    FAIL,     <span class="comment">// This is the default option to fail consume until crypto succeeds</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    DISCARD,  <span class="comment">// Message is silently acknowledged and not delivered to the application</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    CONSUME   <span class="comment">// Deliver the encrypted message to the application. It&#39;s the application&#39;s</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>              <span class="comment">// responsibility to decrypt the message. If message is also compressed,</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>              <span class="comment">// decompression will fail. If message contain batch messages, client will</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>              <span class="comment">// not be able to retrieve individual messages in the batch</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>};</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>} <span class="comment">/* namespace pulsar */</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#endif </span><span class="comment">/* CONSUMERCRYPTOFAILUREACTION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_consumer_event_listener_8h_source.html b/static/api/cpp/4.2.x/_consumer_event_listener_8h_source.html
new file mode 100644
index 00000000000..17f897de5df
--- /dev/null
+++ b/static/api/cpp/4.2.x/_consumer_event_listener_8h_source.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ConsumerEventListener.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerEventListener.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CONSUMEREVENTLISTENER_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CONSUMEREVENTLISTENER_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>;</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_event_listener.html">   28</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_consumer_event_listener.html">ConsumerEventListener</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_consumer_event_listener.html">~ConsumerEventListener</a>(){};</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_event_listener.html#ae6423a9fb10d4c76642bf7f036d43875">   37</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_event_listener.html#ae6423a9fb10d4c76642bf7f036d43875">becameActive</a>(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a> consumer, <span c [...]
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_event_listener.html#aa11768bfa6db7611e95631202d88439e">   46</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_event_listener.html#aa11768bfa6db7611e95631202d88439e">becameInactive</a>(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a> consumer, <span [...]
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>};</div>
+</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_CONSUMEREVENTLISTENER_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_event_listener_html"><div class="ttname"><a href="classpulsar_1_1_consumer_event_listener.html">pulsar::ConsumerEventListener</a></div><div class="ttdef"><b>Definition</b> ConsumerEventListener.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_event_listener_html_aa11768bfa6db7611e95631202d88439e"><div class="ttname"><a href="classpulsar_1_1_consumer_event_listener.html#aa11768bfa6db7611e95631202d88439e">pulsar::ConsumerEventListener::becameInactive</a></div><div class="ttdeci">virtual void becameInactive(Consumer consumer, int partitionId)=0</div><div class="ttdoc">Notified when the consumer group is changed, and the consumer is still inactive or becomes inactive.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_event_listener_html_ae6423a9fb10d4c76642bf7f036d43875"><div class="ttname"><a href="classpulsar_1_1_consumer_event_listener.html#ae6423a9fb10d4c76642bf7f036d43875">pulsar::ConsumerEventListener::becameActive</a></div><div class="ttdeci">virtual void becameActive(Consumer consumer, int partitionId)=0</div><div class="ttdoc">Notified when the consumer group is changed, and the consumer becomes active.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_consumer_interceptor_8h_source.html b/static/api/cpp/4.2.x/_consumer_interceptor_8h_source.html
new file mode 100644
index 00000000000..002df1ec7fd
--- /dev/null
+++ b/static/api/cpp/4.2.x/_consumer_interceptor_8h_source.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ConsumerInterceptor.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerInterceptor.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef PULSAR_CPP_CONSUMER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define PULSAR_CPP_CONSUMER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;set&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span></div>
+<div class="foldopen" id="foldopen00043" data-start="{" data-end="};">
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html">   43</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_consumer_interceptor.html">ConsumerInterceptor</a> {</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_consumer_interceptor.html">~ConsumerInterceptor</a>() {}</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#abe9d12923a7f6b3bc56c9596a4bac7bc">   49</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#abe9d12923a7f6b3bc56c9596a4bac7bc">close</a>() {}</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#a390ea752b64d895a6cca218255ba1398">   80</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#a390ea752b64d895a6cca218255ba1398">beforeConsume</a>(<span class="keyword">const</span> <a class="code hl_class" hr [...]
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#a9d45879671a6585c244b996e0f8e0eae">   92</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#a9d45879671a6585c244b996e0f8e0eae">onAcknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer.html"> [...]
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#aaa831e0a16b86333a43ee7fed04ab0a1">  104</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#aaa831e0a16b86333a43ee7fed04ab0a1">onAcknowledgeCumulative</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consu [...]
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>                                         <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageID) = 0;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span></div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#a8f11afb9ec2c367cd5006f4a2df45f30">  115</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#a8f11afb9ec2c367cd5006f4a2df45f30">onNegativeAcksSend</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer.h [...]
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>};</div>
+</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span><span class="keyword">typedef</span> std::shared_ptr&lt;ConsumerInterceptor&gt; ConsumerInterceptorPtr;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_CONSUMER_INTERCEPTOR_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html">pulsar::ConsumerInterceptor</a></div><div class="ttdef"><b>Definition</b> ConsumerInterceptor.h:43</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_a390ea752b64d895a6cca218255ba1398"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#a390ea752b64d895a6cca218255ba1398">pulsar::ConsumerInterceptor::beforeConsume</a></div><div class="ttdeci">virtual Message beforeConsume(const Consumer &amp;consumer, const Message &amp;message)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_a8f11afb9ec2c367cd5006f4a2df45f30"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#a8f11afb9ec2c367cd5006f4a2df45f30">pulsar::ConsumerInterceptor::onNegativeAcksSend</a></div><div class="ttdeci">virtual void onNegativeAcksSend(const Consumer &amp;consumer, const std::set&lt; MessageId &gt; &amp;messageIds)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_a9d45879671a6585c244b996e0f8e0eae"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#a9d45879671a6585c244b996e0f8e0eae">pulsar::ConsumerInterceptor::onAcknowledge</a></div><div class="ttdeci">virtual void onAcknowledge(const Consumer &amp;consumer, Result result, const MessageId &amp;messageID)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_aaa831e0a16b86333a43ee7fed04ab0a1"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#aaa831e0a16b86333a43ee7fed04ab0a1">pulsar::ConsumerInterceptor::onAcknowledgeCumulative</a></div><div class="ttdeci">virtual void onAcknowledgeCumulative(const Consumer &amp;consumer, Result result, const MessageId &amp;messageID)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_abe9d12923a7f6b3bc56c9596a4bac7bc"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#abe9d12923a7f6b3bc56c9596a4bac7bc">pulsar::ConsumerInterceptor::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdef"><b>Definition</b> ConsumerInterceptor.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_consumer_type_8h_source.html b/static/api/cpp/4.2.x/_consumer_type_8h_source.html
new file mode 100644
index 00000000000..86865a0e106
--- /dev/null
+++ b/static/api/cpp/4.2.x/_consumer_type_8h_source.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ConsumerType.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerType.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CPP_CONSUMERTYPE_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CPP_CONSUMERTYPE_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="foldopen" id="foldopen00025" data-start="{" data-end="};">
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">   25</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">ConsumerType</a> : uint8_t</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>{</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8ea915cd237340dcd1d212f8d398f3d91ac">   30</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8ea915cd237340dcd1d212f8d398f3d91ac">ConsumerExclusive</a>,</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eac55370821e835a03c2da742ab27e1705">   36</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eac55370821e835a03c2da742ab27e1705">ConsumerShared</a>,</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eaadffd5f0d50b1da36685230cd3f910a1">   41</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eaadffd5f0d50b1da36685230cd3f910a1">ConsumerFailover</a>,</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eacb902cf3781caf307d06e37dc447d5cc">   47</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eacb902cf3781caf307d06e37dc447d5cc">ConsumerKeyShared</a></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>};</div>
+</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>}</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_CONSUMERTYPE_H</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8e"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8e">pulsar::ConsumerType</a></div><div class="ttdeci">ConsumerType</div><div class="ttdef"><b>Definition</b> ConsumerType.h:26</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8ea915cd237340dcd1d212f8d398f3d91ac"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8ea915cd237340dcd1d212f8d398f3d91ac">pulsar::ConsumerExclusive</a></div><div class="ttdeci">@ ConsumerExclusive</div><div class="ttdef"><b>Definition</b> ConsumerType.h:30</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8eaadffd5f0d50b1da36685230cd3f910a1"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eaadffd5f0d50b1da36685230cd3f910a1">pulsar::ConsumerFailover</a></div><div class="ttdeci">@ ConsumerFailover</div><div class="ttdef"><b>Definition</b> ConsumerType.h:41</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8eac55370821e835a03c2da742ab27e1705"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eac55370821e835a03c2da742ab27e1705">pulsar::ConsumerShared</a></div><div class="ttdeci">@ ConsumerShared</div><div class="ttdef"><b>Definition</b> ConsumerType.h:36</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9001dd59f719a974dc7b4ef5858dda8eacb902cf3781caf307d06e37dc447d5cc"><div class="ttname"><a href="namespacepulsar.html#a9001dd59f719a974dc7b4ef5858dda8eacb902cf3781caf307d06e37dc447d5cc">pulsar::ConsumerKeyShared</a></div><div class="ttdeci">@ ConsumerKeyShared</div><div class="ttdef"><b>Definition</b> ConsumerType.h:47</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_crypto_key_reader_8h_source.html b/static/api/cpp/4.2.x/_crypto_key_reader_8h_source.html
new file mode 100644
index 00000000000..62b31ee5f03
--- /dev/null
+++ b/static/api/cpp/4.2.x/_crypto_key_reader_8h_source.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/CryptoKeyReader.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">CryptoKeyReader.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef CRYPTOKEYREADER_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define CRYPTOKEYREADER_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/EncryptionKeyInfo.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span></div>
+<div class="foldopen" id="foldopen00031" data-start="{" data-end="};">
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="classpulsar_1_1_crypto_key_reader.html">   31</a></span><span class="keyword">class </span>PULSAR_PUBLIC CryptoKeyReader {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    CryptoKeyReader();</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    <span class="keyword">virtual</span> ~CryptoKeyReader();</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="classpulsar_1_1_crypto_key_reader.html#a57456a577dc20b00229bb139bf025aee">   52</a></span>    <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_crypto_key_reader.html#a57456a577dc20b00229bb139bf025aee">getPublicKey</a>(<span class="keyword">const</span> std [...]
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>                                <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="classpulsar_1_1_crypto_key_reader.html#a33a3b281068df053226bb50b59280be0">   63</a></span>    <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_crypto_key_reader.html#a33a3b281068df053226bb50b59280be0">getPrivateKey</a>(<span class="keyword">const</span> st [...]
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>                                 <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>}; <span class="comment">/* namespace pulsar */</span></div>
+</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="keyword">typedef</span> std::shared_ptr&lt;CryptoKeyReader&gt; CryptoKeyReaderPtr;</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="foldopen" id="foldopen00070" data-start="{" data-end="};">
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classpulsar_1_1_default_crypto_key_reader.html">   70</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">DefaultCryptoKeyReader</a> : <span class="keyword">public</span> CryptoKeyReader {</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    std::string publicKeyPath_;</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>    std::string privateKeyPath_;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>    <span class="keywordtype">void</span> readFile(<span class="keyword">const</span> std::string&amp; fileName, std::string&amp; fileContents) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">   86</a></span>    <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">DefaultCryptoKeyReader</a>(<span class="keyword">const</span> std::string&amp; publicKeyPath, <span class="keyword">const</span> std::string&amp; privateKeyPath);</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">~DefaultCryptoKeyReader</a>();</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classpulsar_1_1_default_crypto_key_reader.html#a77289250ef58adf938335f241eeb748f">  103</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#a77289250ef58adf938335f241eeb748f">getPublicKey</a>(<span class="keyword">const</span> std::string&amp; keyName [...]
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>                        <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span></div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="classpulsar_1_1_default_crypto_key_reader.html#abef165b0c67acb92eb73283564e8dbb5">  116</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#abef165b0c67acb92eb73283564e8dbb5">getPrivateKey</a>(<span class="keyword">const</span> std::string&amp; keyNam [...]
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>                         <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keyword">static</span> CryptoKeyReaderPtr create(<span class="keyword">const</span> std::string&amp; publicKeyPath, <span class="keyword">const</span> std::string&amp; privateKeyPath);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>}; <span class="comment">/* namespace pulsar */</span></div>
+</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span><span class="preprocessor">#endif </span><span class="comment">/* CRYPTOKEYREADER_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_crypto_key_reader_html_a33a3b281068df053226bb50b59280be0"><div class="ttname"><a href="classpulsar_1_1_crypto_key_reader.html#a33a3b281068df053226bb50b59280be0">pulsar::CryptoKeyReader::getPrivateKey</a></div><div class="ttdeci">virtual Result getPrivateKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const =0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_crypto_key_reader_html_a57456a577dc20b00229bb139bf025aee"><div class="ttname"><a href="classpulsar_1_1_crypto_key_reader.html#a57456a577dc20b00229bb139bf025aee">pulsar::CryptoKeyReader::getPublicKey</a></div><div class="ttdeci">virtual Result getPublicKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const =0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html_a77289250ef58adf938335f241eeb748f"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html#a77289250ef58adf938335f241eeb748f">pulsar::DefaultCryptoKeyReader::getPublicKey</a></div><div class="ttdeci">Result getPublicKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html_abef165b0c67acb92eb73283564e8dbb5"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html#abef165b0c67acb92eb73283564e8dbb5">pulsar::DefaultCryptoKeyReader::getPrivateKey</a></div><div class="ttdeci">Result getPrivateKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html_ae4b1b1f371da031b371e318aa883d5a0"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">pulsar::DefaultCryptoKeyReader::DefaultCryptoKeyReader</a></div><div class="ttdeci">DefaultCryptoKeyReader(const std::string &amp;publicKeyPath, const std::string &amp;privateKeyPath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html">pulsar::EncryptionKeyInfo</a></div><div class="ttdef"><b>Definition</b> EncryptionKeyInfo.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_dead_letter_policy_8h_source.html b/static/api/cpp/4.2.x/_dead_letter_policy_8h_source.html
new file mode 100644
index 00000000000..2dbea121412
--- /dev/null
+++ b/static/api/cpp/4.2.x/_dead_letter_policy_8h_source.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/DeadLetterPolicy.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">DeadLetterPolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef DEAD_LETTER_POLICY_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define DEAD_LETTER_POLICY_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">struct </span>DeadLetterPolicyImpl;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span></div>
+<div class="foldopen" id="foldopen00036" data-start="{" data-end="};">
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html">   36</a></span><span class="keyword">class </span>PULSAR_PUBLIC DeadLetterPolicy {</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    DeadLetterPolicy();</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html#aff7c4ae5d89b501a238b3a3c1adbd073">   45</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy.html#aff7c4ae5d89b501a238b3a3c1adbd073">getDeadLetterTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html#a29c6c16740a31fed4a357f43298f98bc">   52</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy.html#a29c6c16740a31fed4a357f43298f98bc">getMaxRedeliverCount</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html#a889b65c5ac7a57ebfcc347c87f5e8555">   59</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy.html#a889b65c5ac7a57ebfcc347c87f5e8555">getInitialSubscriptionName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>    <span class="keyword">friend</span> <span class="keyword">class </span>DeadLetterPolicyBuilder;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;DeadLetterPolicyImpl&gt; DeadLetterPolicyImplPtr;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>    DeadLetterPolicyImplPtr impl_;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>    <span class="keyword">explicit</span> DeadLetterPolicy(<span class="keyword">const</span> DeadLetterPolicyImplPtr&amp; impl);</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>};</div>
+</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span><span class="preprocessor">#endif </span><span class="comment">/* DEAD_LETTER_POLICY_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html_a29c6c16740a31fed4a357f43298f98bc"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html#a29c6c16740a31fed4a357f43298f98bc">pulsar::DeadLetterPolicy::getMaxRedeliverCount</a></div><div class="ttdeci">int getMaxRedeliverCount() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html_a889b65c5ac7a57ebfcc347c87f5e8555"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html#a889b65c5ac7a57ebfcc347c87f5e8555">pulsar::DeadLetterPolicy::getInitialSubscriptionName</a></div><div class="ttdeci">const std::string &amp; getInitialSubscriptionName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html_aff7c4ae5d89b501a238b3a3c1adbd073"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html#aff7c4ae5d89b501a238b3a3c1adbd073">pulsar::DeadLetterPolicy::getDeadLetterTopic</a></div><div class="ttdeci">const std::string &amp; getDeadLetterTopic() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_dead_letter_policy_builder_8h_source.html b/static/api/cpp/4.2.x/_dead_letter_policy_builder_8h_source.html
new file mode 100644
index 00000000000..9342fc4a629
--- /dev/null
+++ b/static/api/cpp/4.2.x/_dead_letter_policy_builder_8h_source.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/DeadLetterPolicyBuilder.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">DeadLetterPolicyBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef DEAD_LETTER_POLICY_BUILD_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define DEAD_LETTER_POLICY_BUILD_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/DeadLetterPolicy.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">struct </span>DeadLetterPolicyImpl;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span></div>
+<div class="foldopen" id="foldopen00044" data-start="{" data-end="};">
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy_builder.html">   44</a></span><span class="keyword">class </span>PULSAR_PUBLIC DeadLetterPolicyBuilder {</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    DeadLetterPolicyBuilder();</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy_builder.html#a60326f125a4d44099a6eab0d5a64aa22">   56</a></span>    DeadLetterPolicyBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#a60326f125a4d44099a6eab0d5a64aa22">deadLetterTopic</a>(<span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder. [...]
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span></div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy_builder.html#ad34f023e1018f636ed488c533e645661">   68</a></span>    DeadLetterPolicyBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#ad34f023e1018f636ed488c533e645661">maxRedeliverCount</a>(<span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#ad34f023 [...]
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy_builder.html#ac2c21735aeb67ffc97ed49351b1de4b0">   80</a></span>    DeadLetterPolicyBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#ac2c21735aeb67ffc97ed49351b1de4b0">initialSubscriptionName</a>(<span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_ [...]
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy_builder.html#a49862689af514682dae0279889da6c03">   87</a></span>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a> <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#a49862689af514682dae0279889da6c03">build</a>();</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    std::shared_ptr&lt;DeadLetterPolicyImpl&gt; impl_;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>};</div>
+</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="preprocessor">#endif </span><span class="comment">/* DEAD_LETTER_POLICY_BUILD_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_a49862689af514682dae0279889da6c03"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#a49862689af514682dae0279889da6c03">pulsar::DeadLetterPolicyBuilder::build</a></div><div class="ttdeci">DeadLetterPolicy build()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_a60326f125a4d44099a6eab0d5a64aa22"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#a60326f125a4d44099a6eab0d5a64aa22">pulsar::DeadLetterPolicyBuilder::deadLetterTopic</a></div><div class="ttdeci">DeadLetterPolicyBuilder &amp; deadLetterTopic(const std::string &amp;deadLetterTopic)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_ac2c21735aeb67ffc97ed49351b1de4b0"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#ac2c21735aeb67ffc97ed49351b1de4b0">pulsar::DeadLetterPolicyBuilder::initialSubscriptionName</a></div><div class="ttdeci">DeadLetterPolicyBuilder &amp; initialSubscriptionName(const std::string &amp;initialSubscriptionName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_ad34f023e1018f636ed488c533e645661"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#ad34f023e1018f636ed488c533e645661">pulsar::DeadLetterPolicyBuilder::maxRedeliverCount</a></div><div class="ttdeci">DeadLetterPolicyBuilder &amp; maxRedeliverCount(int maxRedeliverCount)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html">pulsar::DeadLetterPolicy</a></div><div class="ttdef"><b>Definition</b> DeadLetterPolicy.h:36</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_deprecated_exception_8h_source.html b/static/api/cpp/4.2.x/_deprecated_exception_8h_source.html
new file mode 100644
index 00000000000..21113b1ce44
--- /dev/null
+++ b/static/api/cpp/4.2.x/_deprecated_exception_8h_source.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/DeprecatedException.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">DeprecatedException.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef DEPRECATED_EXCEPTION_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define DEPRECATED_EXCEPTION_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_deprecated_exception.html">   28</a></span><span class="keyword">class </span>PULSAR_PUBLIC DeprecatedException : <span class="keyword">public</span> std::runtime_error {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="keyword">explicit</span> DeprecatedException(<span class="keyword">const</span> std::string&amp; __arg);</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    <span class="keyword">static</span> <span class="keyword">const</span> std::string message_prefix;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>};</div>
+</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#endif  </span><span class="comment">// DEPRECATED_EXCEPTION_HPP_</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_encryption_context_8h_source.html b/static/api/cpp/4.2.x/_encryption_context_8h_source.html
new file mode 100644
index 00000000000..b0c53dd40da
--- /dev/null
+++ b/static/api/cpp/4.2.x/_encryption_context_8h_source.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/EncryptionContext.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">EncryptionContext.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &quot;CompressionType.h&quot;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &quot;defines.h&quot;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">namespace </span>proto {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>MessageMetadata;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>}</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="structpulsar_1_1_encryption_key.html">   35</a></span><span class="keyword">struct </span>PULSAR_PUBLIC EncryptionKey {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    std::string key;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    std::string value;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    std::unordered_map&lt;std::string, std::string&gt; metadata;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    EncryptionKey(<span class="keyword">const</span> std::string&amp; key, <span class="keyword">const</span> std::string&amp; value,</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>                  <span class="keyword">const</span> <span class="keyword">decltype</span>(EncryptionKey::metadata)&amp; metadata)</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>        : key(key), value(value), metadata(metadata) {}</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>};</div>
+</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="foldopen" id="foldopen00049" data-start="{" data-end="};">
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html">   49</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a8ff4edaad83936352e432326b735c4d4">EncryptionContext</a> {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>    <span class="keyword">using </span>KeysType = std::vector&lt;EncryptionKey&gt;;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a636330b55f4d1a5543714caf4176ff23">   56</a></span>    <span class="keyword">const</span> KeysType&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a636330b55f4d1a5543714caf4176ff23">keys</a>() const noexcept { <span class="keywordflow">return</span> keys_; }</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a61938b48c838eaf3add9940d084d2287">   61</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a61938b48c838eaf3add9940d084d2287">param</a>() const noexcept { <span class="keywordflow">return</span> param_; }</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a7db99ba19a42a4950e763918d0c3c9d9">   66</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a7db99ba19a42a4950e763918d0c3c9d9">algorithm</a>() const noexcept { <span class="keywordflow">return</span> algorithm_; }</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a35efeda9df0f5828e7af844b179533d9">   71</a></span>    CompressionType <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a35efeda9df0f5828e7af844b179533d9">compressionType</a>() const noexcept { <span class="keywordflow">return</span> compressionType_; }</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a57240e0afdd8eef75bdaabaff024758a">   76</a></span>    uint32_t <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a57240e0afdd8eef75bdaabaff024758a">uncompressedMessageSize</a>() const noexcept { <span class="keywordflow">return</span> uncompressedMessageSize_; }</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a31478ba775443304456f9ebc797640b6">   81</a></span>    int32_t <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a31478ba775443304456f9ebc797640b6">batchSize</a>() const noexcept { <span class="keywordflow">return</span> batchSize_; }</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a8b06f973bf4ecbb1cd3427445d480ecb">   90</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a8b06f973bf4ecbb1cd3427445d480ecb">isDecryptionFailed</a>() const noexcept { <span class="keywordflow">return</span> isDecryptionFailed_; }</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_context.html#a8ff4edaad83936352e432326b735c4d4">   97</a></span>    <a class="code hl_function" href="classpulsar_1_1_encryption_context.html#a8ff4edaad83936352e432326b735c4d4">EncryptionContext</a>(<span class="keyword">const</span> proto::MessageMetadata&amp;, <span class="keywordtype">bool</span>);</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>    KeysType keys_;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    std::string param_;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    std::string algorithm_;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    CompressionType compressionType_{CompressionNone};</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>    uint32_t uncompressedMessageSize_{0};</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>    int32_t batchSize_{-1};</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>    <span class="keywordtype">bool</span> isDecryptionFailed_{<span class="keyword">false</span>};</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>    <span class="keywordtype">void</span> setDecryptionFailed(<span class="keywordtype">bool</span> failed) <span class="keyword">noexcept</span> { isDecryptionFailed_ = failed; }</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>};</div>
+</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a31478ba775443304456f9ebc797640b6"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a31478ba775443304456f9ebc797640b6">pulsar::EncryptionContext::batchSize</a></div><div class="ttdeci">int32_t batchSize() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:81</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a35efeda9df0f5828e7af844b179533d9"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a35efeda9df0f5828e7af844b179533d9">pulsar::EncryptionContext::compressionType</a></div><div class="ttdeci">CompressionType compressionType() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:71</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a57240e0afdd8eef75bdaabaff024758a"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a57240e0afdd8eef75bdaabaff024758a">pulsar::EncryptionContext::uncompressedMessageSize</a></div><div class="ttdeci">uint32_t uncompressedMessageSize() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:76</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a61938b48c838eaf3add9940d084d2287"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a61938b48c838eaf3add9940d084d2287">pulsar::EncryptionContext::param</a></div><div class="ttdeci">const std::string &amp; param() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:61</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a636330b55f4d1a5543714caf4176ff23"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a636330b55f4d1a5543714caf4176ff23">pulsar::EncryptionContext::keys</a></div><div class="ttdeci">const KeysType &amp; keys() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:56</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a7db99ba19a42a4950e763918d0c3c9d9"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a7db99ba19a42a4950e763918d0c3c9d9">pulsar::EncryptionContext::algorithm</a></div><div class="ttdeci">const std::string &amp; algorithm() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:66</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a8b06f973bf4ecbb1cd3427445d480ecb"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a8b06f973bf4ecbb1cd3427445d480ecb">pulsar::EncryptionContext::isDecryptionFailed</a></div><div class="ttdeci">bool isDecryptionFailed() const noexcept</div><div class="ttdef"><b>Definition</b> EncryptionContext.h:90</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html_a8ff4edaad83936352e432326b735c4d4"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html#a8ff4edaad83936352e432326b735c4d4">pulsar::EncryptionContext::EncryptionContext</a></div><div class="ttdeci">EncryptionContext(const proto::MessageMetadata &amp;, bool)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_encryption_key_info_8h_source.html b/static/api/cpp/4.2.x/_encryption_key_info_8h_source.html
new file mode 100644
index 00000000000..e7d5ddf4e01
--- /dev/null
+++ b/static/api/cpp/4.2.x/_encryption_key_info_8h_source.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/EncryptionKeyInfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">EncryptionKeyInfo.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef ENCRYPTIONKEYINFO_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define ENCRYPTIONKEYINFO_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>EncryptionKeyInfoImpl;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::shared_ptr&lt;EncryptionKeyInfoImpl&gt; EncryptionKeyInfoImplPtr;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html">   35</a></span><span class="keyword">class </span>PULSAR_PUBLIC EncryptionKeyInfo {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    <span class="comment">/*</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="comment">     * This object contains the encryption key and corresponding metadata which contains</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="comment">     * additional information about the key such as version, timestammp</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="comment">     */</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    <span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    EncryptionKeyInfo();</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span></div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#ab5a636493c0a9dc6c4e8ddbf1d0524d9">   50</a></span>    <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#ab5a636493c0a9dc6c4e8ddbf1d0524d9">EncryptionKeyInfo</a>(std::string key, StringMap&amp; metadata);</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#a39565fd1977a4051305c7dde26549041">   55</a></span>    std::string&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a39565fd1977a4051305c7dde26549041">getKey</a>();</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#abb4e0af1eb11ca2aff7e42edb7a70d9c">   62</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#abb4e0af1eb11ca2aff7e42edb7a70d9c">setKey</a>(<span class="keyword">const</span> std::string&amp; key);</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#a7cd86c8e529db92625420de3bc2e8532">   67</a></span>    StringMap&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a7cd86c8e529db92625420de3bc2e8532">getMetadata</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#a7ae2f1225fb8897ebbcc74cc7753cfaf">   74</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a7ae2f1225fb8897ebbcc74cc7753cfaf">setMetadata</a>(StringMap&amp; metadata);</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>    <span class="keyword">explicit</span> EncryptionKeyInfo(<span class="keyword">const</span> EncryptionKeyInfoImplPtr&amp;);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>    EncryptionKeyInfoImplPtr impl_;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>};</div>
+</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>} <span class="comment">/* namespace pulsar */</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="preprocessor">#endif </span><span class="comment">/* ENCRYPTIONKEYINFO_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_a39565fd1977a4051305c7dde26549041"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a39565fd1977a4051305c7dde26549041">pulsar::EncryptionKeyInfo::getKey</a></div><div class="ttdeci">std::string &amp; getKey()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_a7ae2f1225fb8897ebbcc74cc7753cfaf"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a7ae2f1225fb8897ebbcc74cc7753cfaf">pulsar::EncryptionKeyInfo::setMetadata</a></div><div class="ttdeci">void setMetadata(StringMap &amp;metadata)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_a7cd86c8e529db92625420de3bc2e8532"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a7cd86c8e529db92625420de3bc2e8532">pulsar::EncryptionKeyInfo::getMetadata</a></div><div class="ttdeci">StringMap &amp; getMetadata(void)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_ab5a636493c0a9dc6c4e8ddbf1d0524d9"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#ab5a636493c0a9dc6c4e8ddbf1d0524d9">pulsar::EncryptionKeyInfo::EncryptionKeyInfo</a></div><div class="ttdeci">EncryptionKeyInfo(std::string key, StringMap &amp;metadata)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_abb4e0af1eb11ca2aff7e42edb7a70d9c"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#abb4e0af1eb11ca2aff7e42edb7a70d9c">pulsar::EncryptionKeyInfo::setKey</a></div><div class="ttdeci">void setKey(const std::string &amp;key)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_file_logger_factory_8h_source.html b/static/api/cpp/4.2.x/_file_logger_factory_8h_source.html
new file mode 100644
index 00000000000..728e3c940bb
--- /dev/null
+++ b/static/api/cpp/4.2.x/_file_logger_factory_8h_source.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/FileLoggerFactory.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">FileLoggerFactory.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Logger.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">class </span>FileLoggerFactoryImpl;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span></div>
+<div class="foldopen" id="foldopen00049" data-start="{" data-end="};">
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_file_logger_factory.html">   49</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">FileLoggerFactory</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a> {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">   57</a></span>    <a class="code hl_function" href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">FileLoggerFactory</a>(Logger::Level level, <span class="keyword">const</span> std::string&amp; logFilePath);</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>    <a class="code hl_function" href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">~FileLoggerFactory</a>();</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classpulsar_1_1_file_logger_factory.html#a196cbae406d25a82ea6112578ef42126">   61</a></span>    <a class="code hl_class" href="classpulsar_1_1_logger.html">pulsar::Logger</a>* <a class="code hl_function" href="classpulsar_1_1_file_logger_factory.html#a196cbae406d25a82ea6112578ef42126">getLogger</a>(<span class="keyword">const</span> std::string&amp; filename) <span class="keyword">override</span [...]
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>    std::unique_ptr&lt;FileLoggerFactoryImpl&gt; impl_;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>};</div>
+</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_file_logger_factory_html_a196cbae406d25a82ea6112578ef42126"><div class="ttname"><a href="classpulsar_1_1_file_logger_factory.html#a196cbae406d25a82ea6112578ef42126">pulsar::FileLoggerFactory::getLogger</a></div><div class="ttdeci">pulsar::Logger * getLogger(const std::string &amp;filename) override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_file_logger_factory_html_a295a3b87a6a73a67bb8f805b3a4769b5"><div class="ttname"><a href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">pulsar::FileLoggerFactory::FileLoggerFactory</a></div><div class="ttdeci">FileLoggerFactory(Logger::Level level, const std::string &amp;logFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html"><div class="ttname"><a href="classpulsar_1_1_logger.html">pulsar::Logger</a></div><div class="ttdef"><b>Definition</b> Logger.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_initial_position_8h_source.html b/static/api/cpp/4.2.x/_initial_position_8h_source.html
new file mode 100644
index 00000000000..35213b8221d
--- /dev/null
+++ b/static/api/cpp/4.2.x/_initial_position_8h_source.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/InitialPosition.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">InitialPosition.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CPP_INITIAL_POSITION_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CPP_INITIAL_POSITION_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">enum</span> InitialPosition : uint8_t</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>{</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    InitialPositionLatest,</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    InitialPositionEarliest</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>};</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>}</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_INITIAL_POSITION_H</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_key_shared_policy_8h_source.html b/static/api/cpp/4.2.x/_key_shared_policy_8h_source.html
new file mode 100644
index 00000000000..0bc6687cda6
--- /dev/null
+++ b/static/api/cpp/4.2.x/_key_shared_policy_8h_source.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/KeySharedPolicy.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">KeySharedPolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;utility&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span></div>
+<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253de">   33</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253de">KeySharedMode</a> : uint8_t</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>{</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253dea1dce3e502d8e018e90f97c07b37cde1f">   39</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253dea1dce3e502d8e018e90f97c07b37cde1f">AUTO_SPLIT</a> = 0,</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253deaed98d14aabee0f3bc70a0cc7723e5b16">   45</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253deaed98d14aabee0f3bc70a0cc7723e5b16">STICKY</a> = 1</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>};</div>
+</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="keyword">struct </span>KeySharedPolicyImpl;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="keyword">typedef</span> std::pair&lt;int, int&gt; StickyRange;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">typedef</span> std::vector&lt;StickyRange&gt; StickyRanges;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
+<div class="foldopen" id="foldopen00053" data-start="{" data-end="};">
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html">   53</a></span><span class="keyword">class </span>PULSAR_PUBLIC KeySharedPolicy {</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>    KeySharedPolicy();</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>    ~KeySharedPolicy();</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>    KeySharedPolicy(<span class="keyword">const</span> KeySharedPolicy&amp;);</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>    KeySharedPolicy&amp; operator=(<span class="keyword">const</span> KeySharedPolicy&amp;);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a421a7227c39ba3c199ec86c40b6b5c75">   65</a></span>    KeySharedPolicy <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a421a7227c39ba3c199ec86c40b6b5c75">clone</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a7ecef0d315c8955a5223d07f11213aa2">   73</a></span>    KeySharedPolicy&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a7ecef0d315c8955a5223d07f11213aa2">setKeySharedMode</a>(<a class="code hl_enumeration" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253de">KeySharedMode</a> keySharedMode);</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a49efb8082529c20caf4eb1e825a0edb2">   78</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#adaab2afae42f06da675d68501dd253de">KeySharedMode</a> <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a49efb8082529c20caf4eb1e825a0edb2">getKeySharedMode</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a5ebe39804f4e2c7a6cc31d1ef7d58e6a">   90</a></span>    KeySharedPolicy&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a5ebe39804f4e2c7a6cc31d1ef7d58e6a">setAllowOutOfOrderDelivery</a>(<span class="keywordtype">bool</span> allowOutOfOrderDelivery);</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#ac79edf430990c158e23886c21f6f2fea">   95</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#ac79edf430990c158e23886c21f6f2fea">isAllowOutOfOrderDelivery</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">  101</a></span>    KeySharedPolicy&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">setStickyRanges</a>(std::initializer_list&lt;StickyRange&gt; ranges);</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">  106</a></span>    KeySharedPolicy&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">setStickyRanges</a>(<span class="keyword">const</span> StickyRanges&amp; ranges);</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a99d2a2c1555003f42213b3eb4c6742f6">  111</a></span>    StickyRanges <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a99d2a2c1555003f42213b3eb4c6742f6">getStickyRanges</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    std::shared_ptr&lt;KeySharedPolicyImpl&gt; impl_;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>};</div>
+</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a421a7227c39ba3c199ec86c40b6b5c75"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a421a7227c39ba3c199ec86c40b6b5c75">pulsar::KeySharedPolicy::clone</a></div><div class="ttdeci">KeySharedPolicy clone() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a49efb8082529c20caf4eb1e825a0edb2"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a49efb8082529c20caf4eb1e825a0edb2">pulsar::KeySharedPolicy::getKeySharedMode</a></div><div class="ttdeci">KeySharedMode getKeySharedMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a5ebe39804f4e2c7a6cc31d1ef7d58e6a"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a5ebe39804f4e2c7a6cc31d1ef7d58e6a">pulsar::KeySharedPolicy::setAllowOutOfOrderDelivery</a></div><div class="ttdeci">KeySharedPolicy &amp; setAllowOutOfOrderDelivery(bool allowOutOfOrderDelivery)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a7ecef0d315c8955a5223d07f11213aa2"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a7ecef0d315c8955a5223d07f11213aa2">pulsar::KeySharedPolicy::setKeySharedMode</a></div><div class="ttdeci">KeySharedPolicy &amp; setKeySharedMode(KeySharedMode keySharedMode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a99d2a2c1555003f42213b3eb4c6742f6"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a99d2a2c1555003f42213b3eb4c6742f6">pulsar::KeySharedPolicy::getStickyRanges</a></div><div class="ttdeci">StickyRanges getStickyRanges() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_aa76f2ad0ea56748d2f7c52d5a269d6d9"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">pulsar::KeySharedPolicy::setStickyRanges</a></div><div class="ttdeci">KeySharedPolicy &amp; setStickyRanges(const StickyRanges &amp;ranges)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_ac79edf430990c158e23886c21f6f2fea"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#ac79edf430990c158e23886c21f6f2fea">pulsar::KeySharedPolicy::isAllowOutOfOrderDelivery</a></div><div class="ttdeci">bool isAllowOutOfOrderDelivery() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_adc25d81437fa23ab5eec077c3600bc73"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">pulsar::KeySharedPolicy::setStickyRanges</a></div><div class="ttdeci">KeySharedPolicy &amp; setStickyRanges(std::initializer_list&lt; StickyRange &gt; ranges)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_adaab2afae42f06da675d68501dd253de"><div class="ttname"><a href="namespacepulsar.html#adaab2afae42f06da675d68501dd253de">pulsar::KeySharedMode</a></div><div class="ttdeci">KeySharedMode</div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html_adaab2afae42f06da675d68501dd253dea1dce3e502d8e018e90f97c07b37cde1f"><div class="ttname"><a href="namespacepulsar.html#adaab2afae42f06da675d68501dd253dea1dce3e502d8e018e90f97c07b37cde1f">pulsar::AUTO_SPLIT</a></div><div class="ttdeci">@ AUTO_SPLIT</div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:39</div></div>
+<div class="ttc" id="anamespacepulsar_html_adaab2afae42f06da675d68501dd253deaed98d14aabee0f3bc70a0cc7723e5b16"><div class="ttname"><a href="namespacepulsar.html#adaab2afae42f06da675d68501dd253deaed98d14aabee0f3bc70a0cc7723e5b16">pulsar::STICKY</a></div><div class="ttdeci">@ STICKY</div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:45</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_key_value_8h_source.html b/static/api/cpp/4.2.x/_key_value_8h_source.html
new file mode 100644
index 00000000000..d5a4d541a16
--- /dev/null
+++ b/static/api/cpp/4.2.x/_key_value_8h_source.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/KeyValue.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">KeyValue.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef KEY_VALUE_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define KEY_VALUE_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &quot;Schema.h&quot;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &quot;defines.h&quot;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>KeyValueImpl;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span></div>
+<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html">   35</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">KeyValue</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">   44</a></span>    <a class="code hl_function" href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">KeyValue</a>(std::string &amp;&amp;key, std::string &amp;&amp;value);</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a47a193a9bb59fba4b30691a695861272">   51</a></span>    std::string <a class="code hl_function" href="classpulsar_1_1_key_value.html#a47a193a9bb59fba4b30691a695861272">getKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a53158bdf562d12f14c7254e6d4b55b37">   59</a></span>    <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code hl_function" href="classpulsar_1_1_key_value.html#a53158bdf562d12f14c7254e6d4b55b37">getValue</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a3c51a0e66e5935c62dfbdb8e0908cf15">   66</a></span>    <span class="keywordtype">size_t</span> <a class="code hl_function" href="classpulsar_1_1_key_value.html#a3c51a0e66e5935c62dfbdb8e0908cf15">getValueLength</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a573eeb6042d04adec7be3d8c46ea2590">   73</a></span>    std::string <a class="code hl_function" href="classpulsar_1_1_key_value.html#a573eeb6042d04adec7be3d8c46ea2590">getValueAsString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;KeyValueImpl&gt; KeyValueImplPtr;</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>    <a class="code hl_function" href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">KeyValue</a>(KeyValueImplPtr keyValueImplPtr);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>    KeyValueImplPtr impl_;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>    <span class="keyword">friend</span> <span class="keyword">class </span>Message;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MessageBuilder;</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>};</div>
+</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="preprocessor">#endif </span><span class="comment">/* KEY_VALUE_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a3c51a0e66e5935c62dfbdb8e0908cf15"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a3c51a0e66e5935c62dfbdb8e0908cf15">pulsar::KeyValue::getValueLength</a></div><div class="ttdeci">size_t getValueLength() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a47a193a9bb59fba4b30691a695861272"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a47a193a9bb59fba4b30691a695861272">pulsar::KeyValue::getKey</a></div><div class="ttdeci">std::string getKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a53158bdf562d12f14c7254e6d4b55b37"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a53158bdf562d12f14c7254e6d4b55b37">pulsar::KeyValue::getValue</a></div><div class="ttdeci">const void * getValue() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a573eeb6042d04adec7be3d8c46ea2590"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a573eeb6042d04adec7be3d8c46ea2590">pulsar::KeyValue::getValueAsString</a></div><div class="ttdeci">std::string getValueAsString() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a724959978481478da4e45ba79092edad"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">pulsar::KeyValue::KeyValue</a></div><div class="ttdeci">KeyValue(std::string &amp;&amp;key, std::string &amp;&amp;value)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_logger_8h_source.html b/static/api/cpp/4.2.x/_logger_8h_source.html
new file mode 100644
index 00000000000..4a58a4a46fd
--- /dev/null
+++ b/static/api/cpp/4.2.x/_logger_8h_source.html
@@ -0,0 +1,134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Logger.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Logger.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger.html">   28</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_logger.html">Logger</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="keyword">enum</span> Level : std::uint8_t</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>        LEVEL_DEBUG = 0,</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>        LEVEL_INFO = 1,</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>        LEVEL_WARN = 2,</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>        LEVEL_ERROR = 3</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    };</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_logger.html">~Logger</a>() {}</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger.html#a6d09f80fd8f35d5634af94a1305c86af">   46</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_logger.html#a6d09f80fd8f35d5634af94a1305c86af">isEnabled</a>(Level level) = 0;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger.html#a753385116eb2e4d73c075de94cc2039b">   55</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_logger.html#a753385116eb2e4d73c075de94cc2039b">log</a>(Level level, <span class="keywordtype">int</span> line, <span class="keyword">const</span> std::string&amp; message) = 0;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>};</div>
+</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="foldopen" id="foldopen00058" data-start="{" data-end="};">
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger_factory.html">   58</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_logger_factory.html">LoggerFactory</a> {</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_logger_factory.html">~LoggerFactory</a>() {}</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger_factory.html#ae2b97aec20f730fe5e77f24ed048380f">   69</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_logger.html">Logger</a>* <a class="code hl_function" href="classpulsar_1_1_logger_factory.html#ae2b97aec20f730fe5e77f24ed048380f">getLogger</a>(<span class="keyword">const</span> std::string&amp; fileName) = 0;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>};</div>
+</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html_ae2b97aec20f730fe5e77f24ed048380f"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html#ae2b97aec20f730fe5e77f24ed048380f">pulsar::LoggerFactory::getLogger</a></div><div class="ttdeci">virtual Logger * getLogger(const std::string &amp;fileName)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html"><div class="ttname"><a href="classpulsar_1_1_logger.html">pulsar::Logger</a></div><div class="ttdef"><b>Definition</b> Logger.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html_a6d09f80fd8f35d5634af94a1305c86af"><div class="ttname"><a href="classpulsar_1_1_logger.html#a6d09f80fd8f35d5634af94a1305c86af">pulsar::Logger::isEnabled</a></div><div class="ttdeci">virtual bool isEnabled(Level level)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html_a753385116eb2e4d73c075de94cc2039b"><div class="ttname"><a href="classpulsar_1_1_logger.html#a753385116eb2e4d73c075de94cc2039b">pulsar::Logger::log</a></div><div class="ttdeci">virtual void log(Level level, int line, const std::string &amp;message)=0</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_message_8h_source.html b/static/api/cpp/4.2.x/_message_8h_source.html
new file mode 100644
index 00000000000..83de7d5d995
--- /dev/null
+++ b/static/api/cpp/4.2.x/_message_8h_source.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Message.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Message.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef MESSAGE_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define MESSAGE_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/EncryptionContext.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;optional&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &quot;KeyValue.h&quot;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &quot;MessageId.h&quot;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">namespace </span>proto {</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">class </span>CommandMessage;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="keyword">class </span>BrokerEntryMetadata;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="keyword">class </span>MessageMetadata;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">class </span>SingleMessageMetadata;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>}  <span class="comment">// namespace proto</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keyword">class </span>SharedBuffer;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="keyword">class </span>MessageImpl;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="foldopen" id="foldopen00046" data-start="{" data-end="};">
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html">   46</a></span><span class="keyword">class </span>PULSAR_PUBLIC Message {</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>    <span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>    Message();</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#adb69adf5f4e63cf0fb9fef0f7bc7281c">   58</a></span>    <span class="keyword">const</span> StringMap&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#adb69adf5f4e63cf0fb9fef0f7bc7281c">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ad3e557ed946f94e6964147a8389532bd">   67</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_message.html#ad3e557ed946f94e6964147a8389532bd">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a69b6576136ccce73f448e2dbaad8d357">   75</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#a69b6576136ccce73f448e2dbaad8d357">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">   83</a></span>    <span class="keyword">const</span> <span class="keywordtype">void</span>* <a class="code hl_function" href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">getData</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#aa47d8ca71292939d4d15e4b543835234">   90</a></span>    std::size_t <a class="code hl_function" href="classpulsar_1_1_message.html#aa47d8ca71292939d4d15e4b543835234">getLength</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; !defined(NDEBUG)</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#a45863405a4d3804cc8415d22d502f5c5">getDataAsString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a45863405a4d3804cc8415d22d502f5c5">  103</a></span>    std::string <a class="code hl_function" href="classpulsar_1_1_message.html#a45863405a4d3804cc8415d22d502f5c5">getDataAsString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span></div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a2d282f106addab953cf7b831ffb3f067">  111</a></span>    <a class="code hl_class" href="classpulsar_1_1_key_value.html">KeyValue</a> <a class="code hl_function" href="classpulsar_1_1_message.html#a2d282f106addab953cf7b831ffb3f067">getKeyValueData</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span></div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ad86803a4284b722117abb650c6db0aef">  122</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#ad86803a4284b722117abb650c6db0aef">getMessageId</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a441a530a2943fc45133690bda73a113a">  128</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message.html#a441a530a2943fc45133690bda73a113a">setMessageId</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId) <span class="keyword">const</spa [...]
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span></div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a7412304904208c662b346d6328b14261">  134</a></span>    int64_t <a class="code hl_function" href="classpulsar_1_1_message.html#a7412304904208c662b346d6328b14261">getIndex</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span></div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a121f31f3216678187c069c681b3b4d7e">  140</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#a121f31f3216678187c069c681b3b4d7e">getPartitionKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span></div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a171e78738da5932678cfd83c347186bf">  145</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_message.html#a171e78738da5932678cfd83c347186bf">hasPartitionKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span></div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ab237804a174974f73bb73970b0163c65">  152</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#ab237804a174974f73bb73970b0163c65">getOrderingKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span></div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ad29a0aeda1dbb934e7c3311d85d0aa02">  160</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_message.html#ad29a0aeda1dbb934e7c3311d85d0aa02">hasOrderingKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span></div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a80acf91bdee6467c8706a18fec316586">  171</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_message.html#a80acf91bdee6467c8706a18fec316586">hasNullValue</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span></div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ac0a02a1da349789215e6f1a3b6e3f180">  177</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_message.html#ac0a02a1da349789215e6f1a3b6e3f180">getPublishTimestamp</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span></div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a952c044fb615b886070bcda08f7ba9f6">  182</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_message.html#a952c044fb615b886070bcda08f7ba9f6">getEventTimestamp</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span></div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#adb7dacb620c7fad56f0aa1d6ae52bb88">  187</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#adb7dacb620c7fad56f0aa1d6ae52bb88">getTopicName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span></div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#aa2ec518390487ff59200487f8442b3a5">  192</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_message.html#aa2ec518390487ff59200487f8442b3a5">getRedeliveryCount</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span></div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a51dee56cd5f71a4d4c2cae8a1b42feef">  197</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_message.html#a51dee56cd5f71a4d4c2cae8a1b42feef">hasSchemaVersion</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span></div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a4a4d35b3098d18b04f998764d3c2ce76">  204</a></span>    int64_t <a class="code hl_function" href="classpulsar_1_1_message.html#a4a4d35b3098d18b04f998764d3c2ce76">getLongSchemaVersion</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ac39590d8db47e6011c4185664350f52d">  209</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#ac39590d8db47e6011c4185664350f52d">getSchemaVersion</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span></div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a35c15216252b5ec573cc901731ad06f4">  214</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message.html#a35c15216252b5ec573cc901731ad06f4">setSchemaVersion</a>(<span class="keyword">const</span> std::string&amp; schemaVersion);</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span></div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a8b6d5d041cd4f1ec05a9490b674efcf0">  221</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#a8b6d5d041cd4f1ec05a9490b674efcf0">getProducerName</a>() const noexcept;</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span></div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a591ce263bbf4271c36027edb56a77418">  229</a></span>    std::optional&lt;const std::<span class="keywordtype">string</span>*&gt; <a class="code hl_function" href="classpulsar_1_1_message.html#a591ce263bbf4271c36027edb56a77418">getReplicatedFrom</a>() const;</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span></div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a5b231ebe7e0ec8bdab9ecf85f70e1764">  235</a></span>    std::optional&lt;const <a class="code hl_class" href="classpulsar_1_1_encryption_context.html">EncryptionContext</a>*&gt; <a class="code hl_function" href="classpulsar_1_1_message.html#a5b231ebe7e0ec8bdab9ecf85f70e1764">getEncryptionContext</a>() const;</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span> </div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    <span class="keywordtype">bool</span> operator==(const Message&amp; msg) const;</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>   protected:</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>    typedef std::shared_ptr&lt;MessageImpl&gt; MessageImplPtr;</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span>    MessageImplPtr impl_;</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span> </div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>    Message(MessageImplPtr&amp; impl);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>    Message(const <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, proto::BrokerEntryMetadata&amp; brokerEntryMetadata,</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>            proto::MessageMetadata&amp; metadata, SharedBuffer&amp; payload);</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#aa3c4673ec7b3c99cc3faf9aa931a4531">  247</a></span>    Message(const <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, proto::BrokerEntryMetadata&amp; brokerEntryMetadata,</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>            proto::MessageMetadata&amp; metadata, SharedBuffer&amp; payload,</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>            proto::SingleMessageMetadata&amp; singleMetadata, const std::shared_ptr&lt;std::<span class="keywordtype">string</span>&gt;&amp; topicName);</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>    friend class PartitionedProducerImpl;</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>    friend class MultiTopicsConsumerImpl;</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    friend class MessageBuilder;</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>    friend class ConsumerImpl;</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>    friend class ProducerImpl;</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>    friend class Commands;</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>    friend class BatchMessageContainerBase;</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>    friend class BatchAcknowledgementTracker;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span>    friend class PulsarWrapper;</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>    friend class MessageBatch;</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>    friend struct OpSendMsg;</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span> </div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>    friend PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, const StringMap&amp; map);</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>    friend PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, const Message&amp; msg);</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>    friend class PulsarFriend;</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span>};</div>
+</div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span> </div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span><span class="preprocessor">#endif </span><span class="comment">/* MESSAGE_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_context_html"><div class="ttname"><a href="classpulsar_1_1_encryption_context.html">pulsar::EncryptionContext</a></div><div class="ttdef"><b>Definition</b> EncryptionContext.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html"><div class="ttname"><a href="classpulsar_1_1_key_value.html">pulsar::KeyValue</a></div><div class="ttdef"><b>Definition</b> KeyValue.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html"><div class="ttname"><a href="classpulsar_1_1_message_builder.html">pulsar::MessageBuilder</a></div><div class="ttdef"><b>Definition</b> MessageBuilder.h:33</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a121f31f3216678187c069c681b3b4d7e"><div class="ttname"><a href="classpulsar_1_1_message.html#a121f31f3216678187c069c681b3b4d7e">pulsar::Message::getPartitionKey</a></div><div class="ttdeci">const std::string &amp; getPartitionKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a171e78738da5932678cfd83c347186bf"><div class="ttname"><a href="classpulsar_1_1_message.html#a171e78738da5932678cfd83c347186bf">pulsar::Message::hasPartitionKey</a></div><div class="ttdeci">bool hasPartitionKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a2d282f106addab953cf7b831ffb3f067"><div class="ttname"><a href="classpulsar_1_1_message.html#a2d282f106addab953cf7b831ffb3f067">pulsar::Message::getKeyValueData</a></div><div class="ttdeci">KeyValue getKeyValueData() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a35c15216252b5ec573cc901731ad06f4"><div class="ttname"><a href="classpulsar_1_1_message.html#a35c15216252b5ec573cc901731ad06f4">pulsar::Message::setSchemaVersion</a></div><div class="ttdeci">void setSchemaVersion(const std::string &amp;schemaVersion)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a441a530a2943fc45133690bda73a113a"><div class="ttname"><a href="classpulsar_1_1_message.html#a441a530a2943fc45133690bda73a113a">pulsar::Message::setMessageId</a></div><div class="ttdeci">void setMessageId(const MessageId &amp;messageId) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a45863405a4d3804cc8415d22d502f5c5"><div class="ttname"><a href="classpulsar_1_1_message.html#a45863405a4d3804cc8415d22d502f5c5">pulsar::Message::getDataAsString</a></div><div class="ttdeci">std::string getDataAsString() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a4a4d35b3098d18b04f998764d3c2ce76"><div class="ttname"><a href="classpulsar_1_1_message.html#a4a4d35b3098d18b04f998764d3c2ce76">pulsar::Message::getLongSchemaVersion</a></div><div class="ttdeci">int64_t getLongSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a51dee56cd5f71a4d4c2cae8a1b42feef"><div class="ttname"><a href="classpulsar_1_1_message.html#a51dee56cd5f71a4d4c2cae8a1b42feef">pulsar::Message::hasSchemaVersion</a></div><div class="ttdeci">bool hasSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a591ce263bbf4271c36027edb56a77418"><div class="ttname"><a href="classpulsar_1_1_message.html#a591ce263bbf4271c36027edb56a77418">pulsar::Message::getReplicatedFrom</a></div><div class="ttdeci">std::optional&lt; const std::string * &gt; getReplicatedFrom() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a5b231ebe7e0ec8bdab9ecf85f70e1764"><div class="ttname"><a href="classpulsar_1_1_message.html#a5b231ebe7e0ec8bdab9ecf85f70e1764">pulsar::Message::getEncryptionContext</a></div><div class="ttdeci">std::optional&lt; const EncryptionContext * &gt; getEncryptionContext() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a69b6576136ccce73f448e2dbaad8d357"><div class="ttname"><a href="classpulsar_1_1_message.html#a69b6576136ccce73f448e2dbaad8d357">pulsar::Message::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a7412304904208c662b346d6328b14261"><div class="ttname"><a href="classpulsar_1_1_message.html#a7412304904208c662b346d6328b14261">pulsar::Message::getIndex</a></div><div class="ttdeci">int64_t getIndex() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a80acf91bdee6467c8706a18fec316586"><div class="ttname"><a href="classpulsar_1_1_message.html#a80acf91bdee6467c8706a18fec316586">pulsar::Message::hasNullValue</a></div><div class="ttdeci">bool hasNullValue() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a8b6d5d041cd4f1ec05a9490b674efcf0"><div class="ttname"><a href="classpulsar_1_1_message.html#a8b6d5d041cd4f1ec05a9490b674efcf0">pulsar::Message::getProducerName</a></div><div class="ttdeci">const std::string &amp; getProducerName() const noexcept</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a952c044fb615b886070bcda08f7ba9f6"><div class="ttname"><a href="classpulsar_1_1_message.html#a952c044fb615b886070bcda08f7ba9f6">pulsar::Message::getEventTimestamp</a></div><div class="ttdeci">uint64_t getEventTimestamp() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_aa2ec518390487ff59200487f8442b3a5"><div class="ttname"><a href="classpulsar_1_1_message.html#aa2ec518390487ff59200487f8442b3a5">pulsar::Message::getRedeliveryCount</a></div><div class="ttdeci">int getRedeliveryCount() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_aa47d8ca71292939d4d15e4b543835234"><div class="ttname"><a href="classpulsar_1_1_message.html#aa47d8ca71292939d4d15e4b543835234">pulsar::Message::getLength</a></div><div class="ttdeci">std::size_t getLength() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ab237804a174974f73bb73970b0163c65"><div class="ttname"><a href="classpulsar_1_1_message.html#ab237804a174974f73bb73970b0163c65">pulsar::Message::getOrderingKey</a></div><div class="ttdeci">const std::string &amp; getOrderingKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ab485e3ff7dbefa8c0523ebaabef55d5d"><div class="ttname"><a href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">pulsar::Message::getData</a></div><div class="ttdeci">const void * getData() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ac0a02a1da349789215e6f1a3b6e3f180"><div class="ttname"><a href="classpulsar_1_1_message.html#ac0a02a1da349789215e6f1a3b6e3f180">pulsar::Message::getPublishTimestamp</a></div><div class="ttdeci">uint64_t getPublishTimestamp() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ac39590d8db47e6011c4185664350f52d"><div class="ttname"><a href="classpulsar_1_1_message.html#ac39590d8db47e6011c4185664350f52d">pulsar::Message::getSchemaVersion</a></div><div class="ttdeci">const std::string &amp; getSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ad29a0aeda1dbb934e7c3311d85d0aa02"><div class="ttname"><a href="classpulsar_1_1_message.html#ad29a0aeda1dbb934e7c3311d85d0aa02">pulsar::Message::hasOrderingKey</a></div><div class="ttdeci">bool hasOrderingKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ad3e557ed946f94e6964147a8389532bd"><div class="ttname"><a href="classpulsar_1_1_message.html#ad3e557ed946f94e6964147a8389532bd">pulsar::Message::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ad86803a4284b722117abb650c6db0aef"><div class="ttname"><a href="classpulsar_1_1_message.html#ad86803a4284b722117abb650c6db0aef">pulsar::Message::getMessageId</a></div><div class="ttdeci">const MessageId &amp; getMessageId() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_adb69adf5f4e63cf0fb9fef0f7bc7281c"><div class="ttname"><a href="classpulsar_1_1_message.html#adb69adf5f4e63cf0fb9fef0f7bc7281c">pulsar::Message::getProperties</a></div><div class="ttdeci">const StringMap &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_adb7dacb620c7fad56f0aa1d6ae52bb88"><div class="ttname"><a href="classpulsar_1_1_message.html#adb7dacb620c7fad56f0aa1d6ae52bb88">pulsar::Message::getTopicName</a></div><div class="ttdeci">const std::string &amp; getTopicName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_message_batch_8h_source.html b/static/api/cpp/4.2.x/_message_batch_8h_source.html
new file mode 100644
index 00000000000..62d5dcfd469
--- /dev/null
+++ b/static/api/cpp/4.2.x/_message_batch_8h_source.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/MessageBatch.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">MessageBatch.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef LIB_MESSAGE_BATCH_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define LIB_MESSAGE_BATCH_H</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="foldopen" id="foldopen00029" data-start="{" data-end="};">
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_batch.html">   29</a></span><span class="keyword">class </span>PULSAR_PUBLIC MessageBatch {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    MessageBatch();</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    MessageBatch&amp; withMessageId(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    MessageBatch&amp; parseFrom(<span class="keyword">const</span> std::string&amp; payload, uint32_t batchSize);</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    MessageBatch&amp; parseFrom(<span class="keyword">const</span> SharedBuffer&amp; payload, uint32_t batchSize);</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>    <span class="keyword">const</span> std::vector&lt;Message&gt;&amp; messages();</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;MessageImpl&gt; MessageImplPtr;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    MessageImplPtr impl_;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> batchMessage_;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    std::vector&lt;Message&gt; batch_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>};</div>
+</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="preprocessor">#endif  </span><span class="comment">// LIB_MESSAGE_BATCH_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_message_builder_8h_source.html b/static/api/cpp/4.2.x/_message_builder_8h_source.html
new file mode 100644
index 00000000000..dc6e6065f20
--- /dev/null
+++ b/static/api/cpp/4.2.x/_message_builder_8h_source.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/MessageBuilder.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">MessageBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef MESSAGE_BUILDER_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define MESSAGE_BUILDER_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/KeyValue.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;chrono&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html">   33</a></span><span class="keyword">class </span>PULSAR_PUBLIC MessageBuilder {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    MessageBuilder();</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    <span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a096971441b85caead9602670d7b901d6">   42</a></span>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a096971441b85caead9602670d7b901d6">build</a>();</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">   47</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#aeae2c95b0639f36fe80c0ce5256cae16">   55</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#aeae2c95b0639f36fe80c0ce5256cae16">setContent</a>(<span class="keyword">const</span> std::string&amp; data);</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">   62</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">setContent</a>(std::string&amp;&amp; data);</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a6a9f4daf6548d0c24eae92642b2f9401">   69</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a6a9f4daf6548d0c24eae92642b2f9401">setContent</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_key_value.html">KeyValue</a>&amp; data);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a33536f52b1a0b00d20d57432377a0822">   76</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a33536f52b1a0b00d20d57432377a0822">setAllocatedContent</a>(<span class="keywordtype">void</span>* data, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#ae59904777c9565d762e4d3230d090ab7">   83</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#ae59904777c9565d762e4d3230d090ab7">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; value);</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a90ce43fad4ea63704569ff2a60d02599">   88</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a90ce43fad4ea63704569ff2a60d02599">setProperties</a>(<span class="keyword">const</span> StringMap&amp; properties);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">   94</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">setPartitionKey</a>(<span class="keyword">const</span> std::string&amp; partitionKey);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">  100</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">setOrderingKey</a>(<span class="keyword">const</span> std::string&amp; orderingKey);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a43996377452478df5ba3d8255eb8e266">  107</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a43996377452478df5ba3d8255eb8e266">setDeliverAfter</a>(<span class="keyword">const</span> std::chrono::milliseconds delay);</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span></div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a07e17c0a4721ec937f028ebc0e8d15f4">  115</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a07e17c0a4721ec937f028ebc0e8d15f4">setDeliverAt</a>(uint64_t deliveryTimestamp);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a47a1c042b9e686c48b406c993e7982e5">  120</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a47a1c042b9e686c48b406c993e7982e5">setEventTimestamp</a>(uint64_t eventTimestamp);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span></div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a94372cd317b679b7748149429655a0f3">  138</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a94372cd317b679b7748149429655a0f3">setSequenceId</a>(int64_t sequenceId);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span></div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">  150</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">setReplicationClusters</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; clusters);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span></div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#afa199d60f52954c93c07ad6eafebe7dd">  157</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#afa199d60f52954c93c07ad6eafebe7dd">disableReplication</a>(<span class="keywordtype">bool</span> flag);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span></div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a90f16c6727b527ff29d9993f894f4c14">  168</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a90f16c6727b527ff29d9993f894f4c14">setNullValue</a>();</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span></div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#aae903d24a17c2bcd1c5c34742953618d">  174</a></span>    MessageBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#aae903d24a17c2bcd1c5c34742953618d">create</a>();</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>    <span class="keyword">const</span> <span class="keywordtype">char</span>* data() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>    std::size_t size() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>    <span class="keywordtype">void</span> checkMetadata();</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>    <span class="keyword">static</span> std::shared_ptr&lt;MessageImpl&gt; createMessageImpl();</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>    Message::MessageImplPtr impl_;</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>};</div>
+</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html"><div class="ttname"><a href="classpulsar_1_1_key_value.html">pulsar::KeyValue</a></div><div class="ttdef"><b>Definition</b> KeyValue.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a07e17c0a4721ec937f028ebc0e8d15f4"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a07e17c0a4721ec937f028ebc0e8d15f4">pulsar::MessageBuilder::setDeliverAt</a></div><div class="ttdeci">MessageBuilder &amp; setDeliverAt(uint64_t deliveryTimestamp)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a096971441b85caead9602670d7b901d6"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a096971441b85caead9602670d7b901d6">pulsar::MessageBuilder::build</a></div><div class="ttdeci">Message build()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a1efcf691608abcbb3b915a16f5c99bff"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">pulsar::MessageBuilder::setPartitionKey</a></div><div class="ttdeci">MessageBuilder &amp; setPartitionKey(const std::string &amp;partitionKey)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a2cc0fde4d3dcc2aae68e6e1588c8d364"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const void *data, size_t size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a33536f52b1a0b00d20d57432377a0822"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a33536f52b1a0b00d20d57432377a0822">pulsar::MessageBuilder::setAllocatedContent</a></div><div class="ttdeci">MessageBuilder &amp; setAllocatedContent(void *data, size_t size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a43996377452478df5ba3d8255eb8e266"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a43996377452478df5ba3d8255eb8e266">pulsar::MessageBuilder::setDeliverAfter</a></div><div class="ttdeci">MessageBuilder &amp; setDeliverAfter(const std::chrono::milliseconds delay)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a47a1c042b9e686c48b406c993e7982e5"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a47a1c042b9e686c48b406c993e7982e5">pulsar::MessageBuilder::setEventTimestamp</a></div><div class="ttdeci">MessageBuilder &amp; setEventTimestamp(uint64_t eventTimestamp)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a58e630e1da0388f0a81e2e0474aa346d"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">pulsar::MessageBuilder::setOrderingKey</a></div><div class="ttdeci">MessageBuilder &amp; setOrderingKey(const std::string &amp;orderingKey)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a6a9f4daf6548d0c24eae92642b2f9401"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a6a9f4daf6548d0c24eae92642b2f9401">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const KeyValue &amp;data)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a6ebb6e9660a46e883c5467213093abcd"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(std::string &amp;&amp;data)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a90ce43fad4ea63704569ff2a60d02599"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a90ce43fad4ea63704569ff2a60d02599">pulsar::MessageBuilder::setProperties</a></div><div class="ttdeci">MessageBuilder &amp; setProperties(const StringMap &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a90f16c6727b527ff29d9993f894f4c14"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a90f16c6727b527ff29d9993f894f4c14">pulsar::MessageBuilder::setNullValue</a></div><div class="ttdeci">MessageBuilder &amp; setNullValue()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a94372cd317b679b7748149429655a0f3"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a94372cd317b679b7748149429655a0f3">pulsar::MessageBuilder::setSequenceId</a></div><div class="ttdeci">MessageBuilder &amp; setSequenceId(int64_t sequenceId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_aae903d24a17c2bcd1c5c34742953618d"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#aae903d24a17c2bcd1c5c34742953618d">pulsar::MessageBuilder::create</a></div><div class="ttdeci">MessageBuilder &amp; create()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_acde04b110dbccdd7591fad9d4aa9f9c9"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">pulsar::MessageBuilder::setReplicationClusters</a></div><div class="ttdeci">MessageBuilder &amp; setReplicationClusters(const std::vector&lt; std::string &gt; &amp;clusters)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_ae59904777c9565d762e4d3230d090ab7"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#ae59904777c9565d762e4d3230d090ab7">pulsar::MessageBuilder::setProperty</a></div><div class="ttdeci">MessageBuilder &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_aeae2c95b0639f36fe80c0ce5256cae16"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#aeae2c95b0639f36fe80c0ce5256cae16">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const std::string &amp;data)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_afa199d60f52954c93c07ad6eafebe7dd"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#afa199d60f52954c93c07ad6eafebe7dd">pulsar::MessageBuilder::disableReplication</a></div><div class="ttdeci">MessageBuilder &amp; disableReplication(bool flag)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_message_id_8h_source.html b/static/api/cpp/4.2.x/_message_id_8h_source.html
new file mode 100644
index 00000000000..b2fa053054e
--- /dev/null
+++ b/static/api/cpp/4.2.x/_message_id_8h_source.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/MessageId.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">MessageId.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef MESSAGE_ID_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define MESSAGE_ID_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>MessageIdImpl;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="foldopen" id="foldopen00034" data-start="{" data-end="};">
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html">   34</a></span><span class="keyword">class </span>PULSAR_PUBLIC MessageId {</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    MessageId&amp; operator=(<span class="keyword">const</span> MessageId&amp;);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    MessageId();</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#ac91b200bd36b9d887bebdadb747dd4ee">   51</a></span>    <span class="keyword">explicit</span> <a class="code hl_function" href="classpulsar_1_1_message_id.html#ac91b200bd36b9d887bebdadb747dd4ee">MessageId</a>(int32_t partition, int64_t ledgerId, int64_t entryId, int32_t batchIndex);</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a3b0079713b68d0a9d03c269dc2ba2fff">   56</a></span>    <span class="keyword">static</span> <span class="keyword">const</span> MessageId&amp; <a class="code hl_function" href="classpulsar_1_1_message_id.html#a3b0079713b68d0a9d03c269dc2ba2fff">earliest</a>();</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">   61</a></span>    <span class="keyword">static</span> <span class="keyword">const</span> MessageId&amp; <a class="code hl_function" href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">latest</a>();</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span></div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#aef0c413f2705d0ebdf1577c84af6ba6b">   66</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message_id.html#aef0c413f2705d0ebdf1577c84af6ba6b">serialize</a>(std::string&amp; result) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a7cd2deeae7cbf71436bc8e9cd786c147">   73</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message_id.html#a7cd2deeae7cbf71436bc8e9cd786c147">getTopicName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">   79</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">setTopicName</a>(<span class="keyword">const</span> std::string&amp; topicName);</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a3768dd552867827d694077ab6d7a55c8">   84</a></span>    <span class="keyword">static</span> MessageId <a class="code hl_function" href="classpulsar_1_1_message_id.html#a3768dd552867827d694077ab6d7a55c8">deserialize</a>(<span class="keyword">const</span> std::string&amp; serializedMessageId);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>    <span class="comment">// These functions compare the message order as stored in bookkeeper</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> MessageId&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> MessageId&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>    <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> MessageId&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> MessageId&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>    <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> MessageId&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>    <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> MessageId&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>    int64_t ledgerId() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>    int64_t entryId() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>    int32_t batchIndex() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>    int32_t partition() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    int32_t batchSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ReaderImpl;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    <span class="keyword">friend</span> <span class="keyword">class </span>Message;</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MessageImpl;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>    <span class="keyword">friend</span> <span class="keyword">class </span>Commands;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PartitionedProducerImpl;</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MultiTopicsConsumerImpl;</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>    <span class="keyword">friend</span> <span class="keyword">class </span>UnAckedMessageTrackerEnabled;</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>    <span class="keyword">friend</span> <span class="keyword">class </span>BatchAcknowledgementTracker;</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    <span class="keyword">friend</span> <span class="keyword">class </span>NegativeAcksTracker;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MessageIdBuilder;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ChunkMessageIdImpl;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">setTopicName</a>(<span class="keyword">const</span> std::shared_ptr&lt;std::string&gt;&amp; topic);</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keyword">friend</span> PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, <span class="keyword">const</span> MessageId&amp; messageId);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;MessageIdImpl&gt; MessageIdImplPtr;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    MessageIdImplPtr impl_;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keyword">explicit</span> MessageId(<span class="keyword">const</span> MessageIdImplPtr&amp; impl);</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>};</div>
+</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="keyword">typedef</span> std::vector&lt;MessageId&gt; MessageIdList;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="preprocessor">#endif  </span><span class="comment">// MESSAGE_ID_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a3768dd552867827d694077ab6d7a55c8"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a3768dd552867827d694077ab6d7a55c8">pulsar::MessageId::deserialize</a></div><div class="ttdeci">static MessageId deserialize(const std::string &amp;serializedMessageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a3b0079713b68d0a9d03c269dc2ba2fff"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a3b0079713b68d0a9d03c269dc2ba2fff">pulsar::MessageId::earliest</a></div><div class="ttdeci">static const MessageId &amp; earliest()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a3d84665dab3feb64ed00183a322b92f2"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">pulsar::MessageId::setTopicName</a></div><div class="ttdeci">void setTopicName(const std::string &amp;topicName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a7cd2deeae7cbf71436bc8e9cd786c147"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a7cd2deeae7cbf71436bc8e9cd786c147">pulsar::MessageId::getTopicName</a></div><div class="ttdeci">const std::string &amp; getTopicName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_ac91b200bd36b9d887bebdadb747dd4ee"><div class="ttname"><a href="classpulsar_1_1_message_id.html#ac91b200bd36b9d887bebdadb747dd4ee">pulsar::MessageId::MessageId</a></div><div class="ttdeci">MessageId(int32_t partition, int64_t ledgerId, int64_t entryId, int32_t batchIndex)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_aef0c413f2705d0ebdf1577c84af6ba6b"><div class="ttname"><a href="classpulsar_1_1_message_id.html#aef0c413f2705d0ebdf1577c84af6ba6b">pulsar::MessageId::serialize</a></div><div class="ttdeci">void serialize(std::string &amp;result) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_af9c67f2e12e102b07c609a8da5740976"><div class="ttname"><a href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">pulsar::MessageId::latest</a></div><div class="ttdeci">static const MessageId &amp; latest()</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_message_id_builder_8h_source.html b/static/api/cpp/4.2.x/_message_id_builder_8h_source.html
new file mode 100644
index 00000000000..a54a48a5195
--- /dev/null
+++ b/static/api/cpp/4.2.x/_message_id_builder_8h_source.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/MessageIdBuilder.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">MessageIdBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/MessageId.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span>proto {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">class </span>MessageIdData;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>}</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span></div>
+<div class="foldopen" id="foldopen00054" data-start="{" data-end="};">
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html">   54</a></span><span class="keyword">class </span>PULSAR_PUBLIC MessageIdBuilder {</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>    <span class="keyword">explicit</span> MessageIdBuilder();</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#adf978433aad184f7bcb11bfbf86f91ee">   61</a></span>    <span class="keyword">static</span> MessageIdBuilder <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#adf978433aad184f7bcb11bfbf86f91ee">from</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#a46bff6912be430a70ff6d236fdef5d4c">   69</a></span>    <span class="keyword">static</span> MessageIdBuilder <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a46bff6912be430a70ff6d236fdef5d4c">from</a>(<span class="keyword">const</span> proto::MessageIdData&amp; messageIdData);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span></div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#a8fe3a6d2cc7a29f59137ad241887bf0e">   74</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a> <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a8fe3a6d2cc7a29f59137ad241887bf0e">build</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span></div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#ae1be301cd7f5d7b5444adaa7d209bf2e">   81</a></span>    MessageIdBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#ae1be301cd7f5d7b5444adaa7d209bf2e">ledgerId</a>(int64_t <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#ae1be301cd7f5d7b5444adaa7d209bf2e">ledgerId</a>);</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span></div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#ae891d015703255a676ee39fd738df615">   88</a></span>    MessageIdBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#ae891d015703255a676ee39fd738df615">entryId</a>(int64_t <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#ae891d015703255a676ee39fd738df615">entryId</a>);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#a40f7cba248437dd6d1d2d29cbc48f5ac">   95</a></span>    MessageIdBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a40f7cba248437dd6d1d2d29cbc48f5ac">partition</a>(int32_t <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a40f7cba248437dd6d1d2d29cbc48f5ac">partition</a>);</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#a09df47acda7f3fe3ec8b0b2f7b9f99f9">  102</a></span>    MessageIdBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a09df47acda7f3fe3ec8b0b2f7b9f99f9">batchIndex</a>(int32_t <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a09df47acda7f3fe3ec8b0b2f7b9f99f9">batchIndex</a>);</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span></div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id_builder.html#a070889cc7ffd6f403883b64f38146f74">  109</a></span>    MessageIdBuilder&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a070889cc7ffd6f403883b64f38146f74">batchSize</a>(int32_t <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a070889cc7ffd6f403883b64f38146f74">batchSize</a>);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    std::shared_ptr&lt;MessageIdImpl&gt; impl_;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>};</div>
+</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a070889cc7ffd6f403883b64f38146f74"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a070889cc7ffd6f403883b64f38146f74">pulsar::MessageIdBuilder::batchSize</a></div><div class="ttdeci">MessageIdBuilder &amp; batchSize(int32_t batchSize)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a09df47acda7f3fe3ec8b0b2f7b9f99f9"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a09df47acda7f3fe3ec8b0b2f7b9f99f9">pulsar::MessageIdBuilder::batchIndex</a></div><div class="ttdeci">MessageIdBuilder &amp; batchIndex(int32_t batchIndex)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a40f7cba248437dd6d1d2d29cbc48f5ac"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a40f7cba248437dd6d1d2d29cbc48f5ac">pulsar::MessageIdBuilder::partition</a></div><div class="ttdeci">MessageIdBuilder &amp; partition(int32_t partition)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a46bff6912be430a70ff6d236fdef5d4c"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a46bff6912be430a70ff6d236fdef5d4c">pulsar::MessageIdBuilder::from</a></div><div class="ttdeci">static MessageIdBuilder from(const proto::MessageIdData &amp;messageIdData)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a8fe3a6d2cc7a29f59137ad241887bf0e"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a8fe3a6d2cc7a29f59137ad241887bf0e">pulsar::MessageIdBuilder::build</a></div><div class="ttdeci">MessageId build() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_adf978433aad184f7bcb11bfbf86f91ee"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#adf978433aad184f7bcb11bfbf86f91ee">pulsar::MessageIdBuilder::from</a></div><div class="ttdeci">static MessageIdBuilder from(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_ae1be301cd7f5d7b5444adaa7d209bf2e"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#ae1be301cd7f5d7b5444adaa7d209bf2e">pulsar::MessageIdBuilder::ledgerId</a></div><div class="ttdeci">MessageIdBuilder &amp; ledgerId(int64_t ledgerId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_ae891d015703255a676ee39fd738df615"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#ae891d015703255a676ee39fd738df615">pulsar::MessageIdBuilder::entryId</a></div><div class="ttdeci">MessageIdBuilder &amp; entryId(int64_t entryId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_message_routing_policy_8h_source.html b/static/api/cpp/4.2.x/_message_routing_policy_8h_source.html
new file mode 100644
index 00000000000..39098fd9354
--- /dev/null
+++ b/static/api/cpp/4.2.x/_message_routing_policy_8h_source.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/MessageRoutingPolicy.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">MessageRoutingPolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_MESSAGE_ROUTING_POLICY_HEADER_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_MESSAGE_ROUTING_POLICY_HEADER_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/DeprecatedException.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/TopicMetadata.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="comment"> * Implement this interface to define custom policy giving message to</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="comment"> * partition mapping.</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="foldopen" id="foldopen00035" data-start="{" data-end="};">
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_routing_policy.html">   35</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_message_routing_policy.html">MessageRoutingPolicy</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_message_routing_policy.html">~MessageRoutingPolicy</a>() {}</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span></div>
+<div class="foldopen" id="foldopen00042" data-start="{" data-end="}">
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">   42</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">getPartition</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html" [...]
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>        <span class="keywordflow">throw</span> <a class="code hl_class" href="classpulsar_1_1_deprecated_exception.html">DeprecatedException</a>(</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>            <span class="stringliteral">&quot;Use int getPartition(const Message&amp; msg,&quot;</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>            <span class="stringliteral">&quot; const TopicMetadata&amp; topicMetadata)&quot;</span>);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    }</div>
+</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="foldopen" id="foldopen00055" data-start="{" data-end="}">
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_routing_policy.html#a080148f08d302d032b0f49d68ada73de">   55</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_message_routing_policy.html#a080148f08d302d032b0f49d68ada73de">getPartition</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html" [...]
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>        <span class="keywordflow">return</span> <a class="code hl_function" href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">getPartition</a>(msg);</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>    }</div>
+</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>};</div>
+</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="keyword">typedef</span> std::shared_ptr&lt;MessageRoutingPolicy&gt; MessageRoutingPolicyPtr;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_MESSAGE_ROUTING_POLICY_HEADER_</span></div>
+<div class="ttc" id="aclasspulsar_1_1_deprecated_exception_html"><div class="ttname"><a href="classpulsar_1_1_deprecated_exception.html">pulsar::DeprecatedException</a></div><div class="ttdef"><b>Definition</b> DeprecatedException.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_routing_policy_html"><div class="ttname"><a href="classpulsar_1_1_message_routing_policy.html">pulsar::MessageRoutingPolicy</a></div><div class="ttdef"><b>Definition</b> MessageRoutingPolicy.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_routing_policy_html_a080148f08d302d032b0f49d68ada73de"><div class="ttname"><a href="classpulsar_1_1_message_routing_policy.html#a080148f08d302d032b0f49d68ada73de">pulsar::MessageRoutingPolicy::getPartition</a></div><div class="ttdeci">virtual int getPartition(const Message &amp;msg, const TopicMetadata &amp;topicMetadata)</div><div class="ttdef"><b>Definition</b> MessageRoutingPolicy.h:55</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_routing_policy_html_a8071e740dd2e44ae75a91901e776c310"><div class="ttname"><a href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">pulsar::MessageRoutingPolicy::getPartition</a></div><div class="ttdeci">virtual int getPartition(const Message &amp;msg)</div><div class="ttdef"><b>Definition</b> MessageRoutingPolicy.h:42</div></div>
+<div class="ttc" id="aclasspulsar_1_1_topic_metadata_html"><div class="ttname"><a href="classpulsar_1_1_topic_metadata.html">pulsar::TopicMetadata</a></div><div class="ttdef"><b>Definition</b> TopicMetadata.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_producer_8h_source.html b/static/api/cpp/4.2.x/_producer_8h_source.html
new file mode 100644
index 00000000000..2ea2d8ea886
--- /dev/null
+++ b/static/api/cpp/4.2.x/_producer_8h_source.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Producer.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Producer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PRODUCER_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PRODUCER_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ProducerConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span>ProducerImplBase;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>)&gt; FlushCallback;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> std::shared_ptr&lt;ProducerImplBase&gt; ProducerImplBasePtr;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="foldopen" id="foldopen00036" data-start="{" data-end="};">
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html">   36</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">Producer</a> {</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">   41</a></span>    <a class="code hl_function" href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">Producer</a>();</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#ab30cecbdcad0f600c1fcd2783cd6caf3">   46</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer.html#ab30cecbdcad0f600c1fcd2783cd6caf3">getTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span></div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#aba5ac552bef04262ecc989b933ec1d65">   51</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer.html#aba5ac552bef04262ecc989b933ec1d65">getProducerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span></div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#ad4737186cf798acfb24a167796259443">   58</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_producer.html#ad4737186cf798acfb24a167796259443">send</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Messa [...]
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a32a8c234d42e1951c0357a7562ccdb3a">   84</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_producer.html#a32a8c234d42e1951c0357a7562ccdb3a">send</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Messa [...]
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a3b12ccb62d02e6b16635b2b4d6fd2312">  100</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a3b12ccb62d02e6b16635b2b4d6fd2312">sendAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg, <span class="keyword">const</span> SendCallb [...]
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span></div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a1cd59ffc4a23162eca39183ba4278146">  106</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_producer.html#a1cd59ffc4a23162eca39183ba4278146">flush</a>();</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a78299ce1bcfa317c8f809707bbce138c">  112</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a78299ce1bcfa317c8f809707bbce138c">flushAsync</a>(<span class="keyword">const</span> FlushCallback&amp; callback);</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span></div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a99c6c342f700842a065178730c487d5a">  126</a></span>    int64_t <a class="code hl_function" href="classpulsar_1_1_producer.html#a99c6c342f700842a065178730c487d5a">getLastSequenceId</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span></div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a2d452694aca8f7ccb5af5e3a974432c3">  136</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer.html#a2d452694aca8f7ccb5af5e3a974432c3">getSchemaVersion</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span></div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a0b4a93617a0c0f8d172633a7bf8ba06b">  147</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_producer.html#a0b4a93617a0c0f8d172633a7bf8ba06b">close</a>();</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span></div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a2eea6892bf8c28d15c156e5c61832478">  156</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a2eea6892bf8c28d15c156e5c61832478">closeAsync</a>(<span class="keyword">const</span> CloseCallback&amp; callback);</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a0f8b6a4b724a60545a8d427596155f1e">  161</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a0f8b6a4b724a60545a8d427596155f1e">isConnected</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span> </div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>    <span class="keyword">explicit</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">Producer</a>(<span class="keyword">const</span> ProducerImplBasePtr&amp;);</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientImpl;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ProducerImpl;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>    ProducerImplBasePtr impl_;</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>    <span class="comment">// For unit test case BatchMessageTest::producerFailureResult only</span></div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>    <span class="keywordtype">void</span> producerFailMessages(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result);</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>};</div>
+</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span><span class="preprocessor">#endif </span><span class="comment">/* PRODUCER_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a013069fbb382f7f3c7dd58522765698b"><div class="ttname"><a href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">pulsar::Producer::Producer</a></div><div class="ttdeci">Producer()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a0b4a93617a0c0f8d172633a7bf8ba06b"><div class="ttname"><a href="classpulsar_1_1_producer.html#a0b4a93617a0c0f8d172633a7bf8ba06b">pulsar::Producer::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a0f8b6a4b724a60545a8d427596155f1e"><div class="ttname"><a href="classpulsar_1_1_producer.html#a0f8b6a4b724a60545a8d427596155f1e">pulsar::Producer::isConnected</a></div><div class="ttdeci">bool isConnected() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a1cd59ffc4a23162eca39183ba4278146"><div class="ttname"><a href="classpulsar_1_1_producer.html#a1cd59ffc4a23162eca39183ba4278146">pulsar::Producer::flush</a></div><div class="ttdeci">Result flush()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a2d452694aca8f7ccb5af5e3a974432c3"><div class="ttname"><a href="classpulsar_1_1_producer.html#a2d452694aca8f7ccb5af5e3a974432c3">pulsar::Producer::getSchemaVersion</a></div><div class="ttdeci">const std::string &amp; getSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a2eea6892bf8c28d15c156e5c61832478"><div class="ttname"><a href="classpulsar_1_1_producer.html#a2eea6892bf8c28d15c156e5c61832478">pulsar::Producer::closeAsync</a></div><div class="ttdeci">void closeAsync(const CloseCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a32a8c234d42e1951c0357a7562ccdb3a"><div class="ttname"><a href="classpulsar_1_1_producer.html#a32a8c234d42e1951c0357a7562ccdb3a">pulsar::Producer::send</a></div><div class="ttdeci">Result send(const Message &amp;msg, MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a3b12ccb62d02e6b16635b2b4d6fd2312"><div class="ttname"><a href="classpulsar_1_1_producer.html#a3b12ccb62d02e6b16635b2b4d6fd2312">pulsar::Producer::sendAsync</a></div><div class="ttdeci">void sendAsync(const Message &amp;msg, const SendCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a78299ce1bcfa317c8f809707bbce138c"><div class="ttname"><a href="classpulsar_1_1_producer.html#a78299ce1bcfa317c8f809707bbce138c">pulsar::Producer::flushAsync</a></div><div class="ttdeci">void flushAsync(const FlushCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a99c6c342f700842a065178730c487d5a"><div class="ttname"><a href="classpulsar_1_1_producer.html#a99c6c342f700842a065178730c487d5a">pulsar::Producer::getLastSequenceId</a></div><div class="ttdeci">int64_t getLastSequenceId() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_ab30cecbdcad0f600c1fcd2783cd6caf3"><div class="ttname"><a href="classpulsar_1_1_producer.html#ab30cecbdcad0f600c1fcd2783cd6caf3">pulsar::Producer::getTopic</a></div><div class="ttdeci">const std::string &amp; getTopic() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_aba5ac552bef04262ecc989b933ec1d65"><div class="ttname"><a href="classpulsar_1_1_producer.html#aba5ac552bef04262ecc989b933ec1d65">pulsar::Producer::getProducerName</a></div><div class="ttdeci">const std::string &amp; getProducerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_ad4737186cf798acfb24a167796259443"><div class="ttname"><a href="classpulsar_1_1_producer.html#ad4737186cf798acfb24a167796259443">pulsar::Producer::send</a></div><div class="ttdeci">Result send(const Message &amp;msg)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_producer_configuration_8h_source.html b/static/api/cpp/4.2.x/_producer_configuration_8h_source.html
new file mode 100644
index 00000000000..3f5143a5753
--- /dev/null
+++ b/static/api/cpp/4.2.x/_producer_configuration_8h_source.html
@@ -0,0 +1,335 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ProducerConfiguration.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ProducerConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_PRODUCERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_PRODUCERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/CompressionType.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/CryptoKeyReader.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/MessageRoutingPolicy.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/ProducerCryptoFailureAction.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/ProducerInterceptor.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;set&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId)&gt; SendCallback;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>)&gt; CloseCallback;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="keyword">struct </span>ProducerConfigurationImpl;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span></div>
+<div class="foldopen" id="foldopen00046" data-start="{" data-end="};">
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html">   46</a></span><span class="keyword">class </span>PULSAR_PUBLIC ProducerConfiguration {</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>    <span class="keyword">enum</span> PartitionsRoutingMode : uint8_t</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>    {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>        UseSinglePartition,</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>        RoundRobinDistribution,</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>        CustomPartition</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    };</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>    <span class="keyword">enum</span> HashingScheme : uint8_t</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>    {</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>        Murmur3_32Hash,</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>        BoostHash,</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>        JavaStringHash</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>    };</div>
+<div class="foldopen" id="foldopen00060" data-start="{" data-end="};">
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346">   60</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346">BatchingType</a> : uint8_t</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>    {</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346af2acbf3fc9b0dc49d8af65a148d22e27">   71</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346af2acbf3fc9b0dc49d8af65a148d22e27">DefaultBatching</a>,</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346a291402f9cfb8e9f0fa888722930233ea">   82</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346a291402f9cfb8e9f0fa888722930233ea">KeyBasedBatching</a></div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>    };</div>
+</div>
+<div class="foldopen" id="foldopen00084" data-start="{" data-end="};">
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992">   84</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992">ProducerAccessMode</a> : uint8_t</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span>    {</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992a73f8f203fbd16f91a5b123a362bf13e5">   89</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992a73f8f203fbd16f91a5b123a362bf13e5">Shared</a> = 0,</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992abd2cd3c2f4a00e0dc5d5aeb07404831d">   94</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992abd2cd3c2f4a00e0dc5d5aeb07404831d">Exclusive</a> = 1,</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992a9ba09474e854bd3d7094580ed7a3ff29">   99</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992a9ba09474e854bd3d7094580ed7a3ff29">WaitForExclusive</a> = 2,</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992ae142b6a80e588880365caa719fe6ebd8">  105</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992ae142b6a80e588880365caa719fe6ebd8">ExclusiveWithFencing</a> = 3</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>    };</div>
+</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>();</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">~ProducerConfiguration</a>();</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span></div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">  119</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">setProducerName</a>(<span class="keyword">const</span> std::string&amp; producerName);</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span></div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a526741c1516005ef85990002be06baed">  124</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a526741c1516005ef85990002be06baed">getProducerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span></div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#af161c34b3745581293e6df1e2f8115af">  138</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#af161c34b3745581293e6df1e2f8115af">setSchema</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; schemaInfo);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span></div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a1a38c635f3b3bfb47da547da873f7adc">  143</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a1a38c635f3b3bfb47da547da873f7adc">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span></div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a20cd4b67462cb786f097a74fde857cf5">  148</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a20cd4b67462cb786f097a74fde857cf5">setSendTimeout</a>(<span class="keywordtype">int</span> sendTimeoutMs);</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span></div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a5f3c0ff3a5910207e1731fd1974fe560">  160</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a5f3c0ff3a5910207e1731fd1974fe560">getSendTimeout</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span></div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a9b6c3c9f7e734f0e95cb9c7b301e14eb">  173</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a9b6c3c9f7e734f0e95cb9c7b301e14eb">setInitialSequenceId</a>(int64_t initialSequenceId);</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span></div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#aad360d7e638bc78e2ed0e9be439d381e">  178</a></span>    int64_t <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#aad360d7e638bc78e2ed0e9be439d381e">getInitialSequenceId</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span></div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a3e4784fdab5471faeddb380849ba60fb">  195</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a3e4784fdab5471faeddb380849ba60fb">setCompressionType</a>(CompressionType compressionType);</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span></div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a61ff42e487a29d8b3a180e23add0135d">  200</a></span>    CompressionType <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a61ff42e487a29d8b3a180e23add0135d">getCompressionType</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span></div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#aeb61ed9f97923fb9e65d4e750b145a2f">  213</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#aeb61ed9f97923fb9e65d4e750b145a2f">setMaxPendingMessages</a>(<span class="keywordtype">int</span> maxPendingMessages);</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span></div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae0300bcf9ccede2a62c550e3eb79cb4b">  218</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ae0300bcf9ccede2a62c550e3eb79cb4b">getMaxPendingMessages</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span></div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ac44a68df892d721fad29056f4d89e9c4">  230</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ac44a68df892d721fad29056f4d89e9c4">setMaxPendingMessagesAcrossPartitions</a>(<span class="keywordtype">int</span> maxPendingMessagesAcrossPartitions);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span></div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abbd51b143f4e4fc8ca5fdfc73c8bfb08">  235</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abbd51b143f4e4fc8ca5fdfc73c8bfb08">getMaxPendingMessagesAcrossPartitions</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span></div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">  245</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">setPartitionsRoutingMode</a>(<span class="keyword">const</span> PartitionsRoutingMode&amp; mode);</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae8e2c09b5a04c154f2830db75426e243">  250</a></span>    PartitionsRoutingMode <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ae8e2c09b5a04c154f2830db75426e243">getPartitionsRoutingMode</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span></div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">  258</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">setMessageRouter</a>(<span class="keyword">const</span> MessageRoutingPolicyPtr&amp; router);</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span></div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a815e19bc497485c10a4fca3a53dea52b">  263</a></span>    <span class="keyword">const</span> MessageRoutingPolicyPtr&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a815e19bc497485c10a4fca3a53dea52b">getMessageRouterPtr</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span></div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">  283</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">setHashingScheme</a>(<span class="keyword">const</span> HashingScheme&amp; scheme);</div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span></div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abbfd8d17f8fff203536fd7d84c45bd6e">  288</a></span>    HashingScheme <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abbfd8d17f8fff203536fd7d84c45bd6e">getHashingScheme</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span></div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#af025bdb0f1c7c9c8fe8cfc61f5e7b1e6">  304</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#af025bdb0f1c7c9c8fe8cfc61f5e7b1e6">setLazyStartPartitionedProducers</a>(<span class="keywordtype">bool</span>);</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span></div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad1699c4a4b7d8f1b7a2680a2bb6535d4">  309</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ad1699c4a4b7d8f1b7a2680a2bb6535d4">getLazyStartPartitionedProducers</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</span></div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae83e7490292fef0b78619135cc90d6a9">  314</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ae83e7490292fef0b78619135cc90d6a9">setBlockIfQueueFull</a>(<span class="keywordtype">bool</span>);</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span></div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a41b834ead0a7335a406f0c6b8a4a8815">  320</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a41b834ead0a7335a406f0c6b8a4a8815">getBlockIfQueueFull</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span> </div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>    <span class="comment">// Zero queue size feature will not be supported on consumer end if batching is enabled</span></div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span></div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#af9a1dd93b7a412b3bf3ec79d4083f0e8">  339</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#af9a1dd93b7a412b3bf3ec79d4083f0e8">setBatchingEnabled</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span>&amp; batchingEnabled);</div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span></div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae41daa9000a2df15120e3c42591d63af">  348</a></span>    <span class="keyword">const</span> <span class="keywordtype">bool</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ae41daa9000a2df15120e3c42591d63af">getBatchingEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span></div>
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a1be81019a86b11ed5c685fdc7e899401">  361</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a1be81019a86b11ed5c685fdc7e899401">setBatchingMaxMessages</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; batchingMaxMe [...]
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span></div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a2debe3bfacf732b7ad40b0b366223f75">  366</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a2debe3bfacf732b7ad40b0b366223f75">getBatchingMaxMessages</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span></div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abbec0bcbdee8085afd81e94262d72080">  380</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abbec0bcbdee8085afd81e94262d72080">setBatchingMaxAllowedSizeInBytes</a>(</div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; batchingMaxAllowedSizeInBytes);</div>
+<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span></div>
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a7d650931b85e0ee4f6080ca051a3cb28">  386</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a7d650931b85e0ee4f6080ca051a3cb28">getBatchingMaxAllowedSizeInBytes</a>() <span class="keyword">const [...]
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno">  387</span></div>
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a34f1bf46378fba5e065f252f982ce350">  395</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a34f1bf46378fba5e065f252f982ce350">setBatchingMaxPublishDelayMs</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; batchi [...]
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span></div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad4e8e1802ddc34d4b600bc0fb9cfe2e6">  400</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ad4e8e1802ddc34d4b600bc0fb9cfe2e6">getBatchingMaxPublishDelayMs</a>() <span class="keyword">const</sp [...]
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span></div>
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abe21bc7bbb3f7d3bbad5102688e715a7">  407</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abe21bc7bbb3f7d3bbad5102688e715a7">setBatchingType</a>(<a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346">BatchingType</a> batchi [...]
+<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span></div>
+<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a9d92842c76fa71736ee9aec424ff2496">  413</a></span>    <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346">BatchingType</a> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a9d92842c76fa71736ee9aec424ff2496">getBatchingType</a>() <span class="keyword">const</sp [...]
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span></div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a451838bdf98e10da3fb6183274f4b3e5">  418</a></span>    <span class="keyword">const</span> CryptoKeyReaderPtr <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a451838bdf98e10da3fb6183274f4b3e5">getCryptoKeyReader</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span></div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a6934b1d5c42a1f03ad011b20ee5c1724">  426</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a6934b1d5c42a1f03ad011b20ee5c1724">setCryptoKeyReader</a>(CryptoKeyReaderPtr cryptoKeyReader);</div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span></div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a853090927fd2a1eee2ca588a4def3c59">  431</a></span>    ProducerCryptoFailureAction <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a853090927fd2a1eee2ca588a4def3c59">getCryptoFailureAction</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span></div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#acf13ddf392d17cc54100f02431e6ba4f">  440</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#acf13ddf392d17cc54100f02431e6ba4f">setCryptoFailureAction</a>(ProducerCryptoFailureAction action);</div>
+<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span></div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a5b02a79fabba85be433ab7a9bdb02138">  445</a></span>    <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a5b02a79fabba85be433ab7a9bdb02138">getEncryptionKeys</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span></div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a33f5238a6da49fca17816d4251af5512">  450</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a33f5238a6da49fca17816d4251af5512">isEncryptionEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span></div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#aea7c7716b8d8e14b0e6a3b4b8ea1b2f0">  464</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#aea7c7716b8d8e14b0e6a3b4b8ea1b2f0">addEncryptionKey</a>(<span class="keyword">const</span> std::string&amp; key);</div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span></div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a7f9020dbb5c22a28277009e83695d5e2">  473</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a7f9020dbb5c22a28277009e83695d5e2">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span></div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">  481</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</span></div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a42d2ec7fafe2b0b3e1554572a487f40f">  486</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a42d2ec7fafe2b0b3e1554572a487f40f">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span></div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">  494</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; value);</div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span></div>
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">  499</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">setProperties</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; properties);</div>
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span></div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad79c6bf2280450ba395aea33885738ae">  522</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ad79c6bf2280450ba395aea33885738ae">setChunkingEnabled</a>(<span class="keywordtype">bool</span> chunkingEnabled);</div>
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span></div>
+<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a6aa210dd18cbd98ccb39ebc2f0978f95">  527</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a6aa210dd18cbd98ccb39ebc2f0978f95">isChunkingEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</span></div>
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a24fde55a4c296eacd3276b8299b4d0b3">  536</a></span>    ProducerConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a24fde55a4c296eacd3276b8299b4d0b3">setAccessMode</a>(<span class="keyword">const</span> <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943 [...]
+<div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span></div>
+<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a4bb0a493242b1701c8574eee4fa694e5">  541</a></span>    <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992">ProducerAccessMode</a> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a4bb0a493242b1701c8574eee4fa694e5">getAccessMode</a>() <span class="keyword">const [...]
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno">  542</span> </div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno">  543</span>    ProducerConfiguration&amp; intercept(<span class="keyword">const</span> std::vector&lt;ProducerInterceptorPtr&gt;&amp; interceptors);</div>
+<div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span> </div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span>    <span class="keyword">const</span> std::vector&lt;ProducerInterceptorPtr&gt;&amp; getInterceptors() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span> </div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno">  547</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span>    std::shared_ptr&lt;ProducerConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00551" name="l00551"></a><span class="lineno">  551</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno">  552</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ProducerImpl;</div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span>};</div>
+</div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00555" name="l00555"></a><span class="lineno">  555</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_PRODUCERCONFIGURATION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html">pulsar::ProducerConfiguration</a></div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a15c8b5a9160959e6998aa2615304348c"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">pulsar::ProducerConfiguration::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a1a38c635f3b3bfb47da547da873f7adc"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a1a38c635f3b3bfb47da547da873f7adc">pulsar::ProducerConfiguration::getSchema</a></div><div class="ttdeci">const SchemaInfo &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a1be81019a86b11ed5c685fdc7e899401"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a1be81019a86b11ed5c685fdc7e899401">pulsar::ProducerConfiguration::setBatchingMaxMessages</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingMaxMessages(const unsigned int &amp;batchingMaxMessages)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a20cd4b67462cb786f097a74fde857cf5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a20cd4b67462cb786f097a74fde857cf5">pulsar::ProducerConfiguration::setSendTimeout</a></div><div class="ttdeci">ProducerConfiguration &amp; setSendTimeout(int sendTimeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a24fde55a4c296eacd3276b8299b4d0b3"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a24fde55a4c296eacd3276b8299b4d0b3">pulsar::ProducerConfiguration::setAccessMode</a></div><div class="ttdeci">ProducerConfiguration &amp; setAccessMode(const ProducerAccessMode &amp;accessMode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a2debe3bfacf732b7ad40b0b366223f75"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a2debe3bfacf732b7ad40b0b366223f75">pulsar::ProducerConfiguration::getBatchingMaxMessages</a></div><div class="ttdeci">const unsigned int &amp; getBatchingMaxMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a33f5238a6da49fca17816d4251af5512"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a33f5238a6da49fca17816d4251af5512">pulsar::ProducerConfiguration::isEncryptionEnabled</a></div><div class="ttdeci">bool isEncryptionEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a34f1bf46378fba5e065f252f982ce350"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a34f1bf46378fba5e065f252f982ce350">pulsar::ProducerConfiguration::setBatchingMaxPublishDelayMs</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingMaxPublishDelayMs(const unsigned long &amp;batchingMaxPublishDelayMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a3e4784fdab5471faeddb380849ba60fb"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a3e4784fdab5471faeddb380849ba60fb">pulsar::ProducerConfiguration::setCompressionType</a></div><div class="ttdeci">ProducerConfiguration &amp; setCompressionType(CompressionType compressionType)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a41b834ead0a7335a406f0c6b8a4a8815"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a41b834ead0a7335a406f0c6b8a4a8815">pulsar::ProducerConfiguration::getBlockIfQueueFull</a></div><div class="ttdeci">bool getBlockIfQueueFull() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a42d2ec7fafe2b0b3e1554572a487f40f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a42d2ec7fafe2b0b3e1554572a487f40f">pulsar::ProducerConfiguration::getProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a451838bdf98e10da3fb6183274f4b3e5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a451838bdf98e10da3fb6183274f4b3e5">pulsar::ProducerConfiguration::getCryptoKeyReader</a></div><div class="ttdeci">const CryptoKeyReaderPtr getCryptoKeyReader() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a45afb46cc1d2083cc58927af5bea3c9d"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">pulsar::ProducerConfiguration::setProperties</a></div><div class="ttdeci">ProducerConfiguration &amp; setProperties(const std::map&lt; std::string, std::string &gt; &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a46e36919c57f78feed59e12e84a8b346"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346">pulsar::ProducerConfiguration::BatchingType</a></div><div class="ttdeci">BatchingType</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:61</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a46e36919c57f78feed59e12e84a8b346a291402f9cfb8e9f0fa888722930233ea"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346a291402f9cfb8e9f0fa888722930233ea">pulsar::ProducerConfiguration::KeyBasedBatching</a></div><div class="ttdeci">@ KeyBasedBatching</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:82</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a46e36919c57f78feed59e12e84a8b346af2acbf3fc9b0dc49d8af65a148d22e27"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a46e36919c57f78feed59e12e84a8b346af2acbf3fc9b0dc49d8af65a148d22e27">pulsar::ProducerConfiguration::DefaultBatching</a></div><div class="ttdeci">@ DefaultBatching</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:71</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a4bb0a493242b1701c8574eee4fa694e5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a4bb0a493242b1701c8574eee4fa694e5">pulsar::ProducerConfiguration::getAccessMode</a></div><div class="ttdeci">ProducerAccessMode getAccessMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a526741c1516005ef85990002be06baed"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a526741c1516005ef85990002be06baed">pulsar::ProducerConfiguration::getProducerName</a></div><div class="ttdeci">const std::string &amp; getProducerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a542691ebedfa1f1fdb706e77067680bb"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">pulsar::ProducerConfiguration::setHashingScheme</a></div><div class="ttdeci">ProducerConfiguration &amp; setHashingScheme(const HashingScheme &amp;scheme)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a5b02a79fabba85be433ab7a9bdb02138"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a5b02a79fabba85be433ab7a9bdb02138">pulsar::ProducerConfiguration::getEncryptionKeys</a></div><div class="ttdeci">const std::set&lt; std::string &gt; &amp; getEncryptionKeys() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a5f3c0ff3a5910207e1731fd1974fe560"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a5f3c0ff3a5910207e1731fd1974fe560">pulsar::ProducerConfiguration::getSendTimeout</a></div><div class="ttdeci">int getSendTimeout() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a61ff42e487a29d8b3a180e23add0135d"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a61ff42e487a29d8b3a180e23add0135d">pulsar::ProducerConfiguration::getCompressionType</a></div><div class="ttdeci">CompressionType getCompressionType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a6842f9d4d16d50b3b993df67c043ad38"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">pulsar::ProducerConfiguration::setPartitionsRoutingMode</a></div><div class="ttdeci">ProducerConfiguration &amp; setPartitionsRoutingMode(const PartitionsRoutingMode &amp;mode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a6934b1d5c42a1f03ad011b20ee5c1724"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a6934b1d5c42a1f03ad011b20ee5c1724">pulsar::ProducerConfiguration::setCryptoKeyReader</a></div><div class="ttdeci">ProducerConfiguration &amp; setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a6aa210dd18cbd98ccb39ebc2f0978f95"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a6aa210dd18cbd98ccb39ebc2f0978f95">pulsar::ProducerConfiguration::isChunkingEnabled</a></div><div class="ttdeci">bool isChunkingEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a7d650931b85e0ee4f6080ca051a3cb28"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a7d650931b85e0ee4f6080ca051a3cb28">pulsar::ProducerConfiguration::getBatchingMaxAllowedSizeInBytes</a></div><div class="ttdeci">const unsigned long &amp; getBatchingMaxAllowedSizeInBytes() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a7f9020dbb5c22a28277009e83695d5e2"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a7f9020dbb5c22a28277009e83695d5e2">pulsar::ProducerConfiguration::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a815e19bc497485c10a4fca3a53dea52b"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a815e19bc497485c10a4fca3a53dea52b">pulsar::ProducerConfiguration::getMessageRouterPtr</a></div><div class="ttdeci">const MessageRoutingPolicyPtr &amp; getMessageRouterPtr() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a8286421f85e5da6c71abe10e5f1ee7cd"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">pulsar::ProducerConfiguration::setProducerName</a></div><div class="ttdeci">ProducerConfiguration &amp; setProducerName(const std::string &amp;producerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a853090927fd2a1eee2ca588a4def3c59"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a853090927fd2a1eee2ca588a4def3c59">pulsar::ProducerConfiguration::getCryptoFailureAction</a></div><div class="ttdeci">ProducerCryptoFailureAction getCryptoFailureAction() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a9b6c3c9f7e734f0e95cb9c7b301e14eb"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a9b6c3c9f7e734f0e95cb9c7b301e14eb">pulsar::ProducerConfiguration::setInitialSequenceId</a></div><div class="ttdeci">ProducerConfiguration &amp; setInitialSequenceId(int64_t initialSequenceId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a9d92842c76fa71736ee9aec424ff2496"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a9d92842c76fa71736ee9aec424ff2496">pulsar::ProducerConfiguration::getBatchingType</a></div><div class="ttdeci">BatchingType getBatchingType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_aad360d7e638bc78e2ed0e9be439d381e"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#aad360d7e638bc78e2ed0e9be439d381e">pulsar::ProducerConfiguration::getInitialSequenceId</a></div><div class="ttdeci">int64_t getInitialSequenceId() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ab6ff6f83f46ac85e60ed1611350d1e79"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">pulsar::ProducerConfiguration::setProperty</a></div><div class="ttdeci">ProducerConfiguration &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abbd51b143f4e4fc8ca5fdfc73c8bfb08"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abbd51b143f4e4fc8ca5fdfc73c8bfb08">pulsar::ProducerConfiguration::getMaxPendingMessagesAcrossPartitions</a></div><div class="ttdeci">int getMaxPendingMessagesAcrossPartitions() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abbec0bcbdee8085afd81e94262d72080"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abbec0bcbdee8085afd81e94262d72080">pulsar::ProducerConfiguration::setBatchingMaxAllowedSizeInBytes</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingMaxAllowedSizeInBytes(const unsigned long &amp;batchingMaxAllowedSizeInBytes)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abbfd8d17f8fff203536fd7d84c45bd6e"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abbfd8d17f8fff203536fd7d84c45bd6e">pulsar::ProducerConfiguration::getHashingScheme</a></div><div class="ttdeci">HashingScheme getHashingScheme() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abe21bc7bbb3f7d3bbad5102688e715a7"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abe21bc7bbb3f7d3bbad5102688e715a7">pulsar::ProducerConfiguration::setBatchingType</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingType(BatchingType batchingType)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abf5a23a8d0eaebba237dca1bbf72a8f2"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">pulsar::ProducerConfiguration::setMessageRouter</a></div><div class="ttdeci">ProducerConfiguration &amp; setMessageRouter(const MessageRoutingPolicyPtr &amp;router)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ac44a68df892d721fad29056f4d89e9c4"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ac44a68df892d721fad29056f4d89e9c4">pulsar::ProducerConfiguration::setMaxPendingMessagesAcrossPartitions</a></div><div class="ttdeci">ProducerConfiguration &amp; setMaxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_acf13ddf392d17cc54100f02431e6ba4f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#acf13ddf392d17cc54100f02431e6ba4f">pulsar::ProducerConfiguration::setCryptoFailureAction</a></div><div class="ttdeci">ProducerConfiguration &amp; setCryptoFailureAction(ProducerCryptoFailureAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad1699c4a4b7d8f1b7a2680a2bb6535d4"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad1699c4a4b7d8f1b7a2680a2bb6535d4">pulsar::ProducerConfiguration::getLazyStartPartitionedProducers</a></div><div class="ttdeci">bool getLazyStartPartitionedProducers() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad4e8e1802ddc34d4b600bc0fb9cfe2e6"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad4e8e1802ddc34d4b600bc0fb9cfe2e6">pulsar::ProducerConfiguration::getBatchingMaxPublishDelayMs</a></div><div class="ttdeci">const unsigned long &amp; getBatchingMaxPublishDelayMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad79c6bf2280450ba395aea33885738ae"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad79c6bf2280450ba395aea33885738ae">pulsar::ProducerConfiguration::setChunkingEnabled</a></div><div class="ttdeci">ProducerConfiguration &amp; setChunkingEnabled(bool chunkingEnabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad8fa778cac0085456ddee943e19d4992"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992">pulsar::ProducerConfiguration::ProducerAccessMode</a></div><div class="ttdeci">ProducerAccessMode</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:85</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad8fa778cac0085456ddee943e19d4992a73f8f203fbd16f91a5b123a362bf13e5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992a73f8f203fbd16f91a5b123a362bf13e5">pulsar::ProducerConfiguration::Shared</a></div><div class="ttdeci">@ Shared</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:89</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad8fa778cac0085456ddee943e19d4992a9ba09474e854bd3d7094580ed7a3ff29"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992a9ba09474e854bd3d7094580ed7a3ff29">pulsar::ProducerConfiguration::WaitForExclusive</a></div><div class="ttdeci">@ WaitForExclusive</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:99</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad8fa778cac0085456ddee943e19d4992abd2cd3c2f4a00e0dc5d5aeb07404831d"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992abd2cd3c2f4a00e0dc5d5aeb07404831d">pulsar::ProducerConfiguration::Exclusive</a></div><div class="ttdeci">@ Exclusive</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:94</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad8fa778cac0085456ddee943e19d4992ae142b6a80e588880365caa719fe6ebd8"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad8fa778cac0085456ddee943e19d4992ae142b6a80e588880365caa719fe6ebd8">pulsar::ProducerConfiguration::ExclusiveWithFencing</a></div><div class="ttdeci">@ ExclusiveWithFencing</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:105</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae0300bcf9ccede2a62c550e3eb79cb4b"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae0300bcf9ccede2a62c550e3eb79cb4b">pulsar::ProducerConfiguration::getMaxPendingMessages</a></div><div class="ttdeci">int getMaxPendingMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae41daa9000a2df15120e3c42591d63af"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae41daa9000a2df15120e3c42591d63af">pulsar::ProducerConfiguration::getBatchingEnabled</a></div><div class="ttdeci">const bool &amp; getBatchingEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae83e7490292fef0b78619135cc90d6a9"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae83e7490292fef0b78619135cc90d6a9">pulsar::ProducerConfiguration::setBlockIfQueueFull</a></div><div class="ttdeci">ProducerConfiguration &amp; setBlockIfQueueFull(bool)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae8e2c09b5a04c154f2830db75426e243"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae8e2c09b5a04c154f2830db75426e243">pulsar::ProducerConfiguration::getPartitionsRoutingMode</a></div><div class="ttdeci">PartitionsRoutingMode getPartitionsRoutingMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_aea7c7716b8d8e14b0e6a3b4b8ea1b2f0"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#aea7c7716b8d8e14b0e6a3b4b8ea1b2f0">pulsar::ProducerConfiguration::addEncryptionKey</a></div><div class="ttdeci">ProducerConfiguration &amp; addEncryptionKey(const std::string &amp;key)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_aeb61ed9f97923fb9e65d4e750b145a2f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#aeb61ed9f97923fb9e65d4e750b145a2f">pulsar::ProducerConfiguration::setMaxPendingMessages</a></div><div class="ttdeci">ProducerConfiguration &amp; setMaxPendingMessages(int maxPendingMessages)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_af025bdb0f1c7c9c8fe8cfc61f5e7b1e6"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#af025bdb0f1c7c9c8fe8cfc61f5e7b1e6">pulsar::ProducerConfiguration::setLazyStartPartitionedProducers</a></div><div class="ttdeci">ProducerConfiguration &amp; setLazyStartPartitionedProducers(bool)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_af161c34b3745581293e6df1e2f8115af"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#af161c34b3745581293e6df1e2f8115af">pulsar::ProducerConfiguration::setSchema</a></div><div class="ttdeci">ProducerConfiguration &amp; setSchema(const SchemaInfo &amp;schemaInfo)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_af9a1dd93b7a412b3bf3ec79d4083f0e8"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#af9a1dd93b7a412b3bf3ec79d4083f0e8">pulsar::ProducerConfiguration::setBatchingEnabled</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingEnabled(const bool &amp;batchingEnabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:147</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_producer_crypto_failure_action_8h_source.html b/static/api/cpp/4.2.x/_producer_crypto_failure_action_8h_source.html
new file mode 100644
index 00000000000..11a8606a86c
--- /dev/null
+++ b/static/api/cpp/4.2.x/_producer_crypto_failure_action_8h_source.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ProducerCryptoFailureAction.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ProducerCryptoFailureAction.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PRODUCERCRYPTOFAILUREACTION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PRODUCERCRYPTOFAILUREACTION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">enum class</span> ProducerCryptoFailureAction : uint8_t</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>{</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    FAIL,  <span class="comment">// This is the default option to fail send if crypto operation fails</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>    SEND   <span class="comment">// Ignore crypto failure and proceed with sending unencrypted messages</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>};</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>} <span class="comment">/* namespace pulsar */</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#endif </span><span class="comment">/* PRODUCERCRYPTOFAILUREACTION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_producer_interceptor_8h_source.html b/static/api/cpp/4.2.x/_producer_interceptor_8h_source.html
new file mode 100644
index 00000000000..9436f6f2b3a
--- /dev/null
+++ b/static/api/cpp/4.2.x/_producer_interceptor_8h_source.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ProducerInterceptor.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ProducerInterceptor.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef PULSAR_PRODUCER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define PULSAR_PRODUCER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_producer.html">Producer</a>;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span></div>
+<div class="foldopen" id="foldopen00042" data-start="{" data-end="};">
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html">   42</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_producer_interceptor.html">ProducerInterceptor</a> {</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_producer_interceptor.html">~ProducerInterceptor</a>() {}</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#a59d5f25b142cd69ebbca13f22842120b">   49</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#a59d5f25b142cd69ebbca13f22842120b">close</a>() {}</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#adc40c03231068fa4a13d6017220d0a79">   80</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#adc40c03231068fa4a13d6017220d0a79">beforeSend</a>(<span class="keyword">const</span> <a class="code hl_class" href= [...]
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#ad9aba4738d6033218f4a970c53aefab0">   99</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#ad9aba4738d6033218f4a970c53aefab0">onSendAcknowledgement</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_produce [...]
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>                                       <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageID) = 0;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#aa4fbfa721d9d9985a304c3d2ce924202">  108</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#aa4fbfa721d9d9985a304c3d2ce924202">onPartitionsChange</a>(<span class="keyword">const</span> std::string&amp; topicName, <span class="keywordtype">int [...]
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>};</div>
+</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="keyword">typedef</span> std::shared_ptr&lt;ProducerInterceptor&gt; ProducerInterceptorPtr;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_PRODUCER_INTERCEPTOR_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html"><div class="ttname"><a href="classpulsar_1_1_producer.html">pulsar::Producer</a></div><div class="ttdef"><b>Definition</b> Producer.h:36</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html">pulsar::ProducerInterceptor</a></div><div class="ttdef"><b>Definition</b> ProducerInterceptor.h:42</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_a59d5f25b142cd69ebbca13f22842120b"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#a59d5f25b142cd69ebbca13f22842120b">pulsar::ProducerInterceptor::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdef"><b>Definition</b> ProducerInterceptor.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_aa4fbfa721d9d9985a304c3d2ce924202"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#aa4fbfa721d9d9985a304c3d2ce924202">pulsar::ProducerInterceptor::onPartitionsChange</a></div><div class="ttdeci">virtual void onPartitionsChange(const std::string &amp;topicName, int partitions)</div><div class="ttdef"><b>Definition</b> ProducerInterceptor.h:108</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_ad9aba4738d6033218f4a970c53aefab0"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#ad9aba4738d6033218f4a970c53aefab0">pulsar::ProducerInterceptor::onSendAcknowledgement</a></div><div class="ttdeci">virtual void onSendAcknowledgement(const Producer &amp;producer, Result result, const Message &amp;message, const MessageId &amp;messageID)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_adc40c03231068fa4a13d6017220d0a79"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#adc40c03231068fa4a13d6017220d0a79">pulsar::ProducerInterceptor::beforeSend</a></div><div class="ttdeci">virtual Message beforeSend(const Producer &amp;producer, const Message &amp;message)=0</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_protobuf_native_schema_8h_source.html b/static/api/cpp/4.2.x/_protobuf_native_schema_8h_source.html
new file mode 100644
index 00000000000..4e724bf3c09
--- /dev/null
+++ b/static/api/cpp/4.2.x/_protobuf_native_schema_8h_source.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ProtobufNativeSchema.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ProtobufNativeSchema.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;google/protobuf/descriptor.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a7dc480604aefdd4119b2e2ee2b9e7764">   33</a></span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> <a class="code hl_function" href="namespacepulsar.html#a7dc480604aefdd4119b2e2ee2b9e7764">createProtobufNativeSchema</a>(<span class="keyword">const</span> google::protobuf::Descriptor* descriptor);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:147</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a7dc480604aefdd4119b2e2ee2b9e7764"><div class="ttname"><a href="namespacepulsar.html#a7dc480604aefdd4119b2e2ee2b9e7764">pulsar::createProtobufNativeSchema</a></div><div class="ttdeci">PULSAR_PUBLIC SchemaInfo createProtobufNativeSchema(const google::protobuf::Descriptor *descriptor)</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_reader_8h_source.html b/static/api/cpp/4.2.x/_reader_8h_source.html
new file mode 100644
index 00000000000..b63b1f6e761
--- /dev/null
+++ b/static/api/cpp/4.2.x/_reader_8h_source.html
@@ -0,0 +1,176 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Reader.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Reader.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_READER_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_READER_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ReaderConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span>ReaderImpl;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <span class="keywordtype">bool</span> hasMessageAvailable)&gt; HasMessageAvailableCallback;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message)&gt; ReadNextCallback;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span></div>
+<div class="foldopen" id="foldopen00037" data-start="{" data-end="};">
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html">   37</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">Reader</a> {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">   42</a></span>    <a class="code hl_function" href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">Reader</a>();</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a1b682c6bacd8514221bbb6b25c84c051">   47</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader.html#a1b682c6bacd8514221bbb6b25c84c051">getTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a11756c69a2f5bd99e302a384ae8a9ff4">   59</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a11756c69a2f5bd99e302a384ae8a9ff4">readNext</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span></div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a39c664ea68774721bc0e772b38449b22">   70</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a39c664ea68774721bc0e772b38449b22">readNext</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg, <span class="keywo [...]
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a40ea70f3ba7c44ef26a812cf903acd6f">   77</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a40ea70f3ba7c44ef26a812cf903acd6f">readNextAsync</a>(<span class="keyword">const</span> ReadNextCallback&amp; callback);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#ab15cfd0e35d625d2f1af5936c314b623">   84</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#ab15cfd0e35d625d2f1af5936c314b623">close</a>();</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span></div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#ab234ee3213e8c956cf987f1d3592a35f">   91</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#ab234ee3213e8c956cf987f1d3592a35f">closeAsync</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>&amp; callback);</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span></div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a97b4bcd925cc6c3ec7c1b756ad69298b">   96</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a97b4bcd925cc6c3ec7c1b756ad69298b">hasMessageAvailableAsync</a>(<span class="keyword">const</span> HasMessageAvailableCallback&amp; callback);</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a7f751b63fba4d4734ff79da590f9fd56">  101</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a7f751b63fba4d4734ff79da590f9fd56">hasMessageAvailable</a>(<span class="keywordtype">bool</span>&amp; <a class="code hl_function" href="classpulsar_1 [...]
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a6bec25700e5b4eb7be41625a9bc856bd">  113</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a6bec25700e5b4eb7be41625a9bc856bd">seek</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">Messag [...]
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#adebdd61a5150777704c8ce8dcec08fc8">  121</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#adebdd61a5150777704c8ce8dcec08fc8">seek</a>(uint64_t timestamp);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span></div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#ab9382fcb52cb2d69c1f744c127b6e1a5">  133</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#ab9382fcb52cb2d69c1f744c127b6e1a5">seekAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; msgId, <span class="keyword">const</span> <a cla [...]
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span></div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a3019e6f349af33c8d4611a327e265b8c">  141</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a3019e6f349af33c8d4611a327e265b8c">seekAsync</a>(uint64_t timestamp, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>&amp [...]
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a9eda13274f7b1f880694fc1178ae631d">  146</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a9eda13274f7b1f880694fc1178ae631d">isConnected</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span></div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a2be8d6367b5af38ddb91020f2a46d202">  152</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a2be8d6367b5af38ddb91020f2a46d202">getLastMessageIdAsync</a>(<span class="keyword">const</span> GetLastMessageIdCallback&amp; callback);</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span></div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a80a0a4dbbe3cf8a9fb074c7556715823">  157</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a80a0a4dbbe3cf8a9fb074c7556715823">getLastMessageId</a>(<a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;ReaderImpl&gt; ReaderImplPtr;</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    ReaderImplPtr impl_;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    <span class="keyword">explicit</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">Reader</a>(<span class="keyword">const</span> ReaderImplPtr&amp;);</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ReaderImpl;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>    <span class="keyword">friend</span> <span class="keyword">class </span>TableViewImpl;</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ReaderTest;</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>};</div>
+</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_READER_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a11756c69a2f5bd99e302a384ae8a9ff4"><div class="ttname"><a href="classpulsar_1_1_reader.html#a11756c69a2f5bd99e302a384ae8a9ff4">pulsar::Reader::readNext</a></div><div class="ttdeci">Result readNext(Message &amp;msg)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a1b682c6bacd8514221bbb6b25c84c051"><div class="ttname"><a href="classpulsar_1_1_reader.html#a1b682c6bacd8514221bbb6b25c84c051">pulsar::Reader::getTopic</a></div><div class="ttdeci">const std::string &amp; getTopic() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a1c34e49ba3dbca0ff7e23ea9ff94db7b"><div class="ttname"><a href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">pulsar::Reader::Reader</a></div><div class="ttdeci">Reader()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a2be8d6367b5af38ddb91020f2a46d202"><div class="ttname"><a href="classpulsar_1_1_reader.html#a2be8d6367b5af38ddb91020f2a46d202">pulsar::Reader::getLastMessageIdAsync</a></div><div class="ttdeci">void getLastMessageIdAsync(const GetLastMessageIdCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a3019e6f349af33c8d4611a327e265b8c"><div class="ttname"><a href="classpulsar_1_1_reader.html#a3019e6f349af33c8d4611a327e265b8c">pulsar::Reader::seekAsync</a></div><div class="ttdeci">void seekAsync(uint64_t timestamp, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a39c664ea68774721bc0e772b38449b22"><div class="ttname"><a href="classpulsar_1_1_reader.html#a39c664ea68774721bc0e772b38449b22">pulsar::Reader::readNext</a></div><div class="ttdeci">Result readNext(Message &amp;msg, int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a40ea70f3ba7c44ef26a812cf903acd6f"><div class="ttname"><a href="classpulsar_1_1_reader.html#a40ea70f3ba7c44ef26a812cf903acd6f">pulsar::Reader::readNextAsync</a></div><div class="ttdeci">void readNextAsync(const ReadNextCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a6bec25700e5b4eb7be41625a9bc856bd"><div class="ttname"><a href="classpulsar_1_1_reader.html#a6bec25700e5b4eb7be41625a9bc856bd">pulsar::Reader::seek</a></div><div class="ttdeci">Result seek(const MessageId &amp;msgId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a7f751b63fba4d4734ff79da590f9fd56"><div class="ttname"><a href="classpulsar_1_1_reader.html#a7f751b63fba4d4734ff79da590f9fd56">pulsar::Reader::hasMessageAvailable</a></div><div class="ttdeci">Result hasMessageAvailable(bool &amp;hasMessageAvailable)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a80a0a4dbbe3cf8a9fb074c7556715823"><div class="ttname"><a href="classpulsar_1_1_reader.html#a80a0a4dbbe3cf8a9fb074c7556715823">pulsar::Reader::getLastMessageId</a></div><div class="ttdeci">Result getLastMessageId(MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a97b4bcd925cc6c3ec7c1b756ad69298b"><div class="ttname"><a href="classpulsar_1_1_reader.html#a97b4bcd925cc6c3ec7c1b756ad69298b">pulsar::Reader::hasMessageAvailableAsync</a></div><div class="ttdeci">void hasMessageAvailableAsync(const HasMessageAvailableCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a9eda13274f7b1f880694fc1178ae631d"><div class="ttname"><a href="classpulsar_1_1_reader.html#a9eda13274f7b1f880694fc1178ae631d">pulsar::Reader::isConnected</a></div><div class="ttdeci">bool isConnected() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_ab15cfd0e35d625d2f1af5936c314b623"><div class="ttname"><a href="classpulsar_1_1_reader.html#ab15cfd0e35d625d2f1af5936c314b623">pulsar::Reader::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_ab234ee3213e8c956cf987f1d3592a35f"><div class="ttname"><a href="classpulsar_1_1_reader.html#ab234ee3213e8c956cf987f1d3592a35f">pulsar::Reader::closeAsync</a></div><div class="ttdeci">void closeAsync(const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_ab9382fcb52cb2d69c1f744c127b6e1a5"><div class="ttname"><a href="classpulsar_1_1_reader.html#ab9382fcb52cb2d69c1f744c127b6e1a5">pulsar::Reader::seekAsync</a></div><div class="ttdeci">void seekAsync(const MessageId &amp;msgId, const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_adebdd61a5150777704c8ce8dcec08fc8"><div class="ttname"><a href="classpulsar_1_1_reader.html#adebdd61a5150777704c8ce8dcec08fc8">pulsar::Reader::seek</a></div><div class="ttdeci">Result seek(uint64_t timestamp)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_reader_configuration_8h_source.html b/static/api/cpp/4.2.x/_reader_configuration_8h_source.html
new file mode 100644
index 00000000000..1916f996223
--- /dev/null
+++ b/static/api/cpp/4.2.x/_reader_configuration_8h_source.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ReaderConfiguration.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ReaderConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_READER_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_READER_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ConsumerCryptoFailureAction.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/CryptoKeyReader.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a>;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result)&gt; <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a> messageId)&gt; GetLastMessageIdCallback;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span></div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">   42</a></span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a> reader, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg)&gt; <a class="code hl_typedef" href="namespacepulsar.html#a9bddad68804 [...]
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keyword">struct </span>ReaderConfigurationImpl;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span></div>
+<div class="foldopen" id="foldopen00049" data-start="{" data-end="};">
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html">   49</a></span><span class="keyword">class </span>PULSAR_PUBLIC ReaderConfiguration {</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>    ReaderConfiguration();</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>    ~ReaderConfiguration();</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    ReaderConfiguration(<span class="keyword">const</span> ReaderConfiguration&amp;);</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>    ReaderConfiguration&amp; operator=(<span class="keyword">const</span> ReaderConfiguration&amp;);</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span></div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#acbc3fa4579799b7857ca0daa938b0459">   64</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#acbc3fa4579799b7857ca0daa938b0459">setSchema</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; schemaInfo);</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a6cd2f670fd1a988fbe94eaa78daeb500">   69</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a6cd2f670fd1a988fbe94eaa78daeb500">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span></div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#abade75269a49ba228530847e2013303d">   75</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#abade75269a49ba228530847e2013303d">setReaderListener</a>(<a class="code hl_typedef" href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">ReaderListener</a> listener);</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span></div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aac94153e08ec204f23de0700a5f5a26d">   80</a></span>    <a class="code hl_typedef" href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">ReaderListener</a> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aac94153e08ec204f23de0700a5f5a26d">getReaderListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a104b07bc32a421a8527e7d167ec2c611">   85</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a104b07bc32a421a8527e7d167ec2c611">hasReaderListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a0574cedc0bc7ccf457071df866830abe">  108</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a0574cedc0bc7ccf457071df866830abe">setReceiverQueueSize</a>(<span class="keywordtype">int</span> size);</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#acc4df17a3e440a6b6d0b5f887be396b9">  113</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#acc4df17a3e440a6b6d0b5f887be396b9">getReceiverQueueSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a8d42ba4bd17f9ac54a609d94f98780a2">  120</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a8d42ba4bd17f9ac54a609d94f98780a2">setReaderName</a>(<span class="keyword">const</span> std::string&amp; readerName);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span></div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ade2223dccff6f75d659fca0e1a65550c">  125</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ade2223dccff6f75d659fca0e1a65550c">getReaderName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span></div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a281c0ae5579461f80677b43126329cd1">  134</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a281c0ae5579461f80677b43126329cd1">setSubscriptionRolePrefix</a>(<span class="keyword">const</span> std::string&amp; subscriptionRolePrefix);</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span></div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ae5107fa6216f477789c84338ab87675c">  139</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ae5107fa6216f477789c84338ab87675c">getSubscriptionRolePrefix</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span></div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aaf766afd6e75d0e1454d81d980f019b3">  154</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aaf766afd6e75d0e1454d81d980f019b3">setReadCompacted</a>(<span class="keywordtype">bool</span> compacted);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span></div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a93a555fd5dc20d394ea45e9155301ee4">  159</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a93a555fd5dc20d394ea45e9155301ee4">isReadCompacted</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ae1848f9313953faf2ab00f198d412108">  167</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ae1848f9313953faf2ab00f198d412108">setInternalSubscriptionName</a>(std::string internalSubscriptionName);</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span></div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a9cbcd290feb9368452ae1536360819f6">  172</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a9cbcd290feb9368452ae1536360819f6">getInternalSubscriptionName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span></div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a11da218b52a8936415029509b9c707e9">  181</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a11da218b52a8936415029509b9c707e9">setUnAckedMessagesTimeoutMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a35aadcf27818f2b46125004dcf160fe6">  186</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a35aadcf27818f2b46125004dcf160fe6">getUnAckedMessagesTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span></div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a23df99b9e97709fcaa50e1766eb84e9b">  200</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a23df99b9e97709fcaa50e1766eb84e9b">setTickDurationInMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span></div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a1618961cba0c4c980b01a6a42aac8036">  205</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a1618961cba0c4c980b01a6a42aac8036">getTickDurationInMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span></div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ab909115a0d99bf1d13f00d098bd4af6f">  215</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ab909115a0d99bf1d13f00d098bd4af6f">setAckGroupingTimeMs</a>(<span class="keywordtype">long</span> ackGroupingMillis);</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ad99affc2c9331c5a2116ce5a07147b3d">  222</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ad99affc2c9331c5a2116ce5a07147b3d">getAckGroupingTimeMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span></div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#af3e84677688a37133d9b270f86aed8da">  230</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#af3e84677688a37133d9b270f86aed8da">setAckGroupingMaxSize</a>(<span class="keywordtype">long</span> maxGroupingSize);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span></div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#af6cfd1444b643e174269b42c961eaa3a">  237</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#af6cfd1444b643e174269b42c961eaa3a">getAckGroupingMaxSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aa2cc4490830aeebee9c1a16589b8c429">  242</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aa2cc4490830aeebee9c1a16589b8c429">isEncryptionEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span></div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ae14fe911357bd22d2e1eecb5184a95ef">  247</a></span>    <span class="keyword">const</span> CryptoKeyReaderPtr <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ae14fe911357bd22d2e1eecb5184a95ef">getCryptoKeyReader</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span></div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a3ce07aacf5e43c5e3252d30e70556fc4">  254</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a3ce07aacf5e43c5e3252d30e70556fc4">setCryptoKeyReader</a>(CryptoKeyReaderPtr cryptoKeyReader);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span></div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aed1711ef9d9fed0a14f80451956cabe8">  259</a></span>    ConsumerCryptoFailureAction <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aed1711ef9d9fed0a14f80451956cabe8">getCryptoFailureAction</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span></div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a717ee81f7651851635a569fe35d735ea">  264</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a717ee81f7651851635a569fe35d735ea">setCryptoFailureAction</a>(ConsumerCryptoFailureAction action);</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span></div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ad34cc5c0bb490e5588653f7bbbf3cd2a">  274</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ad34cc5c0bb490e5588653f7bbbf3cd2a">setStartMessageIdInclusive</a>(<span class="keywordtype">bool</span> startMessageIdInclusive);</div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span></div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a2c9f4927d01acddc1106c9c1812acd47">  279</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a2c9f4927d01acddc1106c9c1812acd47">isStartMessageIdInclusive</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span></div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a0d53c4ac681120500c4d057a60f6f6a6">  288</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a0d53c4ac681120500c4d057a60f6f6a6">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span></div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">  296</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span></div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a9e201286fcc453d43bd188fbe1c96490">  301</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a9e201286fcc453d43bd188fbe1c96490">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span></div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">  308</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; value);</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span></div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a12a43dd43372fb0b173002597bfdb2e3">  313</a></span>    ReaderConfiguration&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a12a43dd43372fb0b173002597bfdb2e3">setProperties</a>(<span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; properties);</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>    std::shared_ptr&lt;ReaderConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>};</div>
+</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_READER_CONFIGURATION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:46</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a0574cedc0bc7ccf457071df866830abe"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a0574cedc0bc7ccf457071df866830abe">pulsar::ReaderConfiguration::setReceiverQueueSize</a></div><div class="ttdeci">void setReceiverQueueSize(int size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a0d53c4ac681120500c4d057a60f6f6a6"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a0d53c4ac681120500c4d057a60f6f6a6">pulsar::ReaderConfiguration::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a104b07bc32a421a8527e7d167ec2c611"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a104b07bc32a421a8527e7d167ec2c611">pulsar::ReaderConfiguration::hasReaderListener</a></div><div class="ttdeci">bool hasReaderListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a11da218b52a8936415029509b9c707e9"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a11da218b52a8936415029509b9c707e9">pulsar::ReaderConfiguration::setUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a12a43dd43372fb0b173002597bfdb2e3"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a12a43dd43372fb0b173002597bfdb2e3">pulsar::ReaderConfiguration::setProperties</a></div><div class="ttdeci">ReaderConfiguration &amp; setProperties(const std::map&lt; std::string, std::string &gt; &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a1618961cba0c4c980b01a6a42aac8036"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a1618961cba0c4c980b01a6a42aac8036">pulsar::ReaderConfiguration::getTickDurationInMs</a></div><div class="ttdeci">long getTickDurationInMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a23df99b9e97709fcaa50e1766eb84e9b"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a23df99b9e97709fcaa50e1766eb84e9b">pulsar::ReaderConfiguration::setTickDurationInMs</a></div><div class="ttdeci">void setTickDurationInMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a281c0ae5579461f80677b43126329cd1"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a281c0ae5579461f80677b43126329cd1">pulsar::ReaderConfiguration::setSubscriptionRolePrefix</a></div><div class="ttdeci">void setSubscriptionRolePrefix(const std::string &amp;subscriptionRolePrefix)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a2c9f4927d01acddc1106c9c1812acd47"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a2c9f4927d01acddc1106c9c1812acd47">pulsar::ReaderConfiguration::isStartMessageIdInclusive</a></div><div class="ttdeci">bool isStartMessageIdInclusive() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a35aadcf27818f2b46125004dcf160fe6"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a35aadcf27818f2b46125004dcf160fe6">pulsar::ReaderConfiguration::getUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">long getUnAckedMessagesTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a3ce07aacf5e43c5e3252d30e70556fc4"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a3ce07aacf5e43c5e3252d30e70556fc4">pulsar::ReaderConfiguration::setCryptoKeyReader</a></div><div class="ttdeci">ReaderConfiguration &amp; setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a6cd2f670fd1a988fbe94eaa78daeb500"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a6cd2f670fd1a988fbe94eaa78daeb500">pulsar::ReaderConfiguration::getSchema</a></div><div class="ttdeci">const SchemaInfo &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a717ee81f7651851635a569fe35d735ea"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a717ee81f7651851635a569fe35d735ea">pulsar::ReaderConfiguration::setCryptoFailureAction</a></div><div class="ttdeci">ReaderConfiguration &amp; setCryptoFailureAction(ConsumerCryptoFailureAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a8d42ba4bd17f9ac54a609d94f98780a2"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a8d42ba4bd17f9ac54a609d94f98780a2">pulsar::ReaderConfiguration::setReaderName</a></div><div class="ttdeci">void setReaderName(const std::string &amp;readerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a8fa193115478c84dfdef934fd50861fd"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">pulsar::ReaderConfiguration::setProperty</a></div><div class="ttdeci">ReaderConfiguration &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a93a555fd5dc20d394ea45e9155301ee4"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a93a555fd5dc20d394ea45e9155301ee4">pulsar::ReaderConfiguration::isReadCompacted</a></div><div class="ttdeci">bool isReadCompacted() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a9cbcd290feb9368452ae1536360819f6"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a9cbcd290feb9368452ae1536360819f6">pulsar::ReaderConfiguration::getInternalSubscriptionName</a></div><div class="ttdeci">const std::string &amp; getInternalSubscriptionName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a9e201286fcc453d43bd188fbe1c96490"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a9e201286fcc453d43bd188fbe1c96490">pulsar::ReaderConfiguration::getProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aa2cc4490830aeebee9c1a16589b8c429"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aa2cc4490830aeebee9c1a16589b8c429">pulsar::ReaderConfiguration::isEncryptionEnabled</a></div><div class="ttdeci">bool isEncryptionEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aac94153e08ec204f23de0700a5f5a26d"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aac94153e08ec204f23de0700a5f5a26d">pulsar::ReaderConfiguration::getReaderListener</a></div><div class="ttdeci">ReaderListener getReaderListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aaf766afd6e75d0e1454d81d980f019b3"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aaf766afd6e75d0e1454d81d980f019b3">pulsar::ReaderConfiguration::setReadCompacted</a></div><div class="ttdeci">void setReadCompacted(bool compacted)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ab006f647e263bd9be6f911a1b0299753"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">pulsar::ReaderConfiguration::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ab909115a0d99bf1d13f00d098bd4af6f"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ab909115a0d99bf1d13f00d098bd4af6f">pulsar::ReaderConfiguration::setAckGroupingTimeMs</a></div><div class="ttdeci">void setAckGroupingTimeMs(long ackGroupingMillis)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_abade75269a49ba228530847e2013303d"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#abade75269a49ba228530847e2013303d">pulsar::ReaderConfiguration::setReaderListener</a></div><div class="ttdeci">ReaderConfiguration &amp; setReaderListener(ReaderListener listener)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_acbc3fa4579799b7857ca0daa938b0459"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#acbc3fa4579799b7857ca0daa938b0459">pulsar::ReaderConfiguration::setSchema</a></div><div class="ttdeci">ReaderConfiguration &amp; setSchema(const SchemaInfo &amp;schemaInfo)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_acc4df17a3e440a6b6d0b5f887be396b9"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#acc4df17a3e440a6b6d0b5f887be396b9">pulsar::ReaderConfiguration::getReceiverQueueSize</a></div><div class="ttdeci">int getReceiverQueueSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ad34cc5c0bb490e5588653f7bbbf3cd2a"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ad34cc5c0bb490e5588653f7bbbf3cd2a">pulsar::ReaderConfiguration::setStartMessageIdInclusive</a></div><div class="ttdeci">ReaderConfiguration &amp; setStartMessageIdInclusive(bool startMessageIdInclusive)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ad99affc2c9331c5a2116ce5a07147b3d"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ad99affc2c9331c5a2116ce5a07147b3d">pulsar::ReaderConfiguration::getAckGroupingTimeMs</a></div><div class="ttdeci">long getAckGroupingTimeMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ade2223dccff6f75d659fca0e1a65550c"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ade2223dccff6f75d659fca0e1a65550c">pulsar::ReaderConfiguration::getReaderName</a></div><div class="ttdeci">const std::string &amp; getReaderName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ae14fe911357bd22d2e1eecb5184a95ef"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ae14fe911357bd22d2e1eecb5184a95ef">pulsar::ReaderConfiguration::getCryptoKeyReader</a></div><div class="ttdeci">const CryptoKeyReaderPtr getCryptoKeyReader() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ae1848f9313953faf2ab00f198d412108"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ae1848f9313953faf2ab00f198d412108">pulsar::ReaderConfiguration::setInternalSubscriptionName</a></div><div class="ttdeci">void setInternalSubscriptionName(std::string internalSubscriptionName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ae5107fa6216f477789c84338ab87675c"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ae5107fa6216f477789c84338ab87675c">pulsar::ReaderConfiguration::getSubscriptionRolePrefix</a></div><div class="ttdeci">const std::string &amp; getSubscriptionRolePrefix() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aed1711ef9d9fed0a14f80451956cabe8"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aed1711ef9d9fed0a14f80451956cabe8">pulsar::ReaderConfiguration::getCryptoFailureAction</a></div><div class="ttdeci">ConsumerCryptoFailureAction getCryptoFailureAction() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_af3e84677688a37133d9b270f86aed8da"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#af3e84677688a37133d9b270f86aed8da">pulsar::ReaderConfiguration::setAckGroupingMaxSize</a></div><div class="ttdeci">void setAckGroupingMaxSize(long maxGroupingSize)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_af6cfd1444b643e174269b42c961eaa3a"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#af6cfd1444b643e174269b42c961eaa3a">pulsar::ReaderConfiguration::getAckGroupingMaxSize</a></div><div class="ttdeci">long getAckGroupingMaxSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html"><div class="ttname"><a href="classpulsar_1_1_reader.html">pulsar::Reader</a></div><div class="ttdef"><b>Definition</b> Reader.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:147</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_a9bddad6880419962bbc6af877209cd49"><div class="ttname"><a href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">pulsar::ReaderListener</a></div><div class="ttdeci">std::function&lt; void(Reader reader, const Message &amp;msg)&gt; ReaderListener</div><div class="ttdoc">Callback definition for MessageListener.</div><div class="ttdef"><b>Definition</b> ReaderConfiguration.h:42</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_regex_subscription_mode_8h_source.html b/static/api/cpp/4.2.x/_regex_subscription_mode_8h_source.html
new file mode 100644
index 00000000000..d39b7c5fd6d
--- /dev/null
+++ b/static/api/cpp/4.2.x/_regex_subscription_mode_8h_source.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/RegexSubscriptionMode.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">RegexSubscriptionMode.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CPP_REGEX_SUB_MODE_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CPP_REGEX_SUB_MODE_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="foldopen" id="foldopen00023" data-start="{" data-end="};">
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">   23</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">RegexSubscriptionMode</a></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span>{</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda68931062ae96d4dcc4778eeac5fa3de4">   28</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda68931062ae96d4dcc4778eeac5fa3de4">PersistentOnly</a> = 0,</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda5af3d512f79ac90cacc326d86a230603">   33</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda5af3d512f79ac90cacc326d86a230603">NonPersistentOnly</a> = 1,</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef">   38</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef">AllTopics</a> = 2</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>};</div>
+</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>}</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_REGEX_SUB_MODE_H</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbd"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">pulsar::RegexSubscriptionMode</a></div><div class="ttdeci">RegexSubscriptionMode</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbda5af3d512f79ac90cacc326d86a230603"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda5af3d512f79ac90cacc326d86a230603">pulsar::NonPersistentOnly</a></div><div class="ttdeci">@ NonPersistentOnly</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:33</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbda68931062ae96d4dcc4778eeac5fa3de4"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda68931062ae96d4dcc4778eeac5fa3de4">pulsar::PersistentOnly</a></div><div class="ttdeci">@ PersistentOnly</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef">pulsar::AllTopics</a></div><div class="ttdeci">@ AllTopics</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_result_8h_source.html b/static/api/cpp/4.2.x/_result_8h_source.html
new file mode 100644
index 00000000000..1f75c15b975
--- /dev/null
+++ b/static/api/cpp/4.2.x/_result_8h_source.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Result.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Result.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef ERROR_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define ERROR_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;ostream&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span></div>
+<div class="foldopen" id="foldopen00034" data-start="{" data-end="};">
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">   34</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> : int8_t</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>{</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    ResultRetryable = -1,  </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f">   37</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f">ResultOk</a> = 0,          </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a213e39d5c84b8794dd21ab4f60ff4b60">   39</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a213e39d5c84b8794dd21ab4f60ff4b60">ResultUnknownError</a>,  </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad3d7545107897e19819066fe42e81a06">   41</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad3d7545107897e19819066fe42e81a06">ResultInvalidConfiguration</a>,  </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079aeb1858ddf791b7288ab1cb066d70cfb4">   43</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079aeb1858ddf791b7288ab1cb066d70cfb4">ResultTimeout</a>,       </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a42ae88341f22c34ed9baac35804f1b01">   44</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a42ae88341f22c34ed9baac35804f1b01">ResultLookupError</a>,   </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ab26ee1bb88fafefa107071fa1fd775bc">   45</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ab26ee1bb88fafefa107071fa1fd775bc">ResultConnectError</a>,  </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079aa084aea99a198f2d01c6c98eeb44ff9e">   46</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079aa084aea99a198f2d01c6c98eeb44ff9e">ResultReadError</a>,     </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2b40eba56a27dc5615338a0d988e2024">   48</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2b40eba56a27dc5615338a0d988e2024">ResultAuthenticationError</a>,             </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a4db07aa497065f6cc0d8e314bf852057">   49</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a4db07aa497065f6cc0d8e314bf852057">ResultAuthorizationError</a>,              </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a8014344f94ba9ad55337f01767e0e30c">   50</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a8014344f94ba9ad55337f01767e0e30c">ResultErrorGettingAuthenticationData</a>,  </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2188e16c2e397cee5f64aef6799c419c">   52</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2188e16c2e397cee5f64aef6799c419c">ResultBrokerMetadataError</a>,     </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a3ac5992ae486593f5aee1538970b51a6">   53</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a3ac5992ae486593f5aee1538970b51a6">ResultBrokerPersistenceError</a>,  </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a60d3371f74155ecb5b11efbf217a2174">   54</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a60d3371f74155ecb5b11efbf217a2174">ResultChecksumError</a>,           </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a5cbe2e189b60f91ff0f2e82b973db31b">   56</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a5cbe2e189b60f91ff0f2e82b973db31b">ResultConsumerBusy</a>,   </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a00976fab0138d80c5fc621e3a44046b6">   57</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a00976fab0138d80c5fc621e3a44046b6">ResultNotConnected</a>,   </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a6c11f7cd8f0bc274d12c5157157ad916">   58</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a6c11f7cd8f0bc274d12c5157157ad916">ResultAlreadyClosed</a>,  </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a875234396481a34fb7f02d3ecd1936f0">   60</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a875234396481a34fb7f02d3ecd1936f0">ResultInvalidMessage</a>,  </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a48d27a5310cda91d13a23324a08533e9">   62</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a48d27a5310cda91d13a23324a08533e9">ResultConsumerNotInitialized</a>,         </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2b5f050c9b2aef10831927cece55b02a">   63</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2b5f050c9b2aef10831927cece55b02a">ResultProducerNotInitialized</a>,         </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad0a7588cc2ac84de7fc17331ed59b544">   64</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad0a7588cc2ac84de7fc17331ed59b544">ResultProducerBusy</a>,                   </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a024fa5ba9fac2cb81fd4e8f6853a81a5">   65</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a024fa5ba9fac2cb81fd4e8f6853a81a5">ResultTooManyLookupRequestException</a>,  </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079afcb0b43f04e494ba3784f6c259b5137f">   67</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079afcb0b43f04e494ba3784f6c259b5137f">ResultInvalidTopicName</a>,  </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a685954a2aedb14c0f3669d579bfd1193">   68</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a685954a2aedb14c0f3669d579bfd1193">ResultInvalidUrl</a>,  </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079af8a459f352105f7e853e02ca2af193b0">   69</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079af8a459f352105f7e853e02ca2af193b0">ResultServiceUnitNotReady</a>,  </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a60abb5ad06a78a3d6d40b2131534dfeb">   71</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a60abb5ad06a78a3d6d40b2131534dfeb">ResultOperationNotSupported</a>,</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    ResultProducerBlockedQuotaExceededError,      </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ab5cc52655496666d96f35edab07c9e7f">   73</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ab5cc52655496666d96f35edab07c9e7f">ResultProducerBlockedQuotaExceededException</a>,  </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a1849c732b1ec8c7e1c0aa653de998d81">   74</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a1849c732b1ec8c7e1c0aa653de998d81">ResultProducerQueueIsFull</a>,                    </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a43765d6a6cab85363b2cad047371294b">   75</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a43765d6a6cab85363b2cad047371294b">ResultMessageTooBig</a>,                          </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad1921e33dd6a45431a0209b70588cf48">   76</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad1921e33dd6a45431a0209b70588cf48">ResultTopicNotFound</a>,                          </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a061d6c40bdf75ca172ffdb862aad7c51">   77</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a061d6c40bdf75ca172ffdb862aad7c51">ResultSubscriptionNotFound</a>,                   </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac74e9fb1b2c25caf17ac3446303b7a71">   78</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac74e9fb1b2c25caf17ac3446303b7a71">ResultConsumerNotFound</a>,                       </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a888578f8569121606cfcfa6044c594c3">   79</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a888578f8569121606cfcfa6044c594c3">ResultUnsupportedVersionError</a>,  </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a62df217dec3d3f75c7099d1464c92750">   80</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a62df217dec3d3f75c7099d1464c92750">ResultTopicTerminated</a>,          </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac131b27876dfd64d8e6b3355578a8f77">   81</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac131b27876dfd64d8e6b3355578a8f77">ResultCryptoError</a>,              </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079afe509853528453adc4ca304ea9b1d79e">   83</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079afe509853528453adc4ca304ea9b1d79e">ResultIncompatibleSchema</a>,   </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac0f35889e7dd6cb7f634baedb8481e9e">   84</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac0f35889e7dd6cb7f634baedb8481e9e">ResultConsumerAssignError</a>,  </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2e01cfc218b721cbd2e2a06bf3cb78b0">   86</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2e01cfc218b721cbd2e2a06bf3cb78b0">ResultCumulativeAcknowledgementNotAllowedError</a>,  </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a653a82475a2715f839ba52329a9b6414">   88</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a653a82475a2715f839ba52329a9b6414">ResultTransactionCoordinatorNotFoundError</a>,       </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a742ada2f12ae5b2ca11fa674889dc186">   89</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a742ada2f12ae5b2ca11fa674889dc186">ResultInvalidTxnStatusError</a>,                     </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad38a4ab387c0769f3c8c30fd2c7413a1">   90</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad38a4ab387c0769f3c8c30fd2c7413a1">ResultNotAllowedError</a>,                           </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a39c2049f4e7e428d2a4473b68223a53c">   91</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a39c2049f4e7e428d2a4473b68223a53c">ResultTransactionConflict</a>,                       </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079af4bfae37b494ea0a2599cc4596bccdf0">   92</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079af4bfae37b494ea0a2599cc4596bccdf0">ResultTransactionNotFound</a>,                       </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a6370706ff98bf4c513f11489679543cb">   93</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a6370706ff98bf4c513f11489679543cb">ResultProducerFenced</a>,                            </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a7eaf7df2c4a2ac2f874e044db02c6733">   95</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a7eaf7df2c4a2ac2f874e044db02c6733">ResultMemoryBufferIsFull</a>,  </div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a67722ba0750e461ae03912f5dc10d03a">   97</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a67722ba0750e461ae03912f5dc10d03a">ResultInterrupted</a>,  </div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a287510a5c9a382f29f0cbdf3d32c0d59">   99</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a287510a5c9a382f29f0cbdf3d32c0d59">ResultDisconnected</a>,  </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>};</div>
+</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span><span class="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span>* strResult(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result);</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a> result);</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="foldopen" id="foldopen00107" data-start="{" data-end="};">
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="structpulsar_1_1_error.html">  107</a></span><span class="keyword">struct </span>PULSAR_PUBLIC <a class="code hl_struct" href="structpulsar_1_1_error.html">Error</a> {</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result;</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>    std::string message;</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>};</div>
+</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span><span class="keyword">inline</span> std::ostream&amp; operator&lt;&lt;(std::ostream&amp; os, <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_error.html">Error</a>&amp; error) {</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    os &lt;&lt; error.result;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    <span class="keywordflow">if</span> (!error.message.empty()) {</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>        os &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; error.message;</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>    }</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    <span class="keywordflow">return</span> os;</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>}</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span><span class="preprocessor">#endif </span><span class="comment">/* ERROR_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a00976fab0138d80c5fc621e3a44046b6"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a00976fab0138d80c5fc621e3a44046b6">pulsar::ResultNotConnected</a></div><div class="ttdeci">@ ResultNotConnected</div><div class="ttdoc">Exclusive consumer is already connected.</div><div class="ttdef"><b>Definition</b> Result.h:57</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a024fa5ba9fac2cb81fd4e8f6853a81a5"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a024fa5ba9fac2cb81fd4e8f6853a81a5">pulsar::ResultTooManyLookupRequestException</a></div><div class="ttdeci">@ ResultTooManyLookupRequestException</div><div class="ttdoc">Producer with same name is already connected.</div><div class="ttdef"><b>Definition</b> Result.h:65</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a061d6c40bdf75ca172ffdb862aad7c51"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a061d6c40bdf75ca172ffdb862aad7c51">pulsar::ResultSubscriptionNotFound</a></div><div class="ttdeci">@ ResultSubscriptionNotFound</div><div class="ttdoc">Topic not found.</div><div class="ttdef"><b>Definition</b> Result.h:77</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f">pulsar::ResultOk</a></div><div class="ttdeci">@ ResultOk</div><div class="ttdoc">An internal error code used for retry.</div><div class="ttdef"><b>Definition</b> Result.h:37</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a1849c732b1ec8c7e1c0aa653de998d81"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a1849c732b1ec8c7e1c0aa653de998d81">pulsar::ResultProducerQueueIsFull</a></div><div class="ttdeci">@ ResultProducerQueueIsFull</div><div class="ttdoc">Producer is getting exception.</div><div class="ttdef"><b>Definition</b> Result.h:74</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a213e39d5c84b8794dd21ab4f60ff4b60"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a213e39d5c84b8794dd21ab4f60ff4b60">pulsar::ResultUnknownError</a></div><div class="ttdeci">@ ResultUnknownError</div><div class="ttdoc">Operation successful.</div><div class="ttdef"><b>Definition</b> Result.h:39</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a2188e16c2e397cee5f64aef6799c419c"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2188e16c2e397cee5f64aef6799c419c">pulsar::ResultBrokerMetadataError</a></div><div class="ttdeci">@ ResultBrokerMetadataError</div><div class="ttdoc">Client cannot find authorization data.</div><div class="ttdef"><b>Definition</b> Result.h:52</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a287510a5c9a382f29f0cbdf3d32c0d59"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a287510a5c9a382f29f0cbdf3d32c0d59">pulsar::ResultDisconnected</a></div><div class="ttdeci">@ ResultDisconnected</div><div class="ttdoc">Interrupted while waiting to dequeue.</div><div class="ttdef"><b>Definition</b> Result.h:99</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a2b40eba56a27dc5615338a0d988e2024"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2b40eba56a27dc5615338a0d988e2024">pulsar::ResultAuthenticationError</a></div><div class="ttdeci">@ ResultAuthenticationError</div><div class="ttdoc">Failed to read from socket.</div><div class="ttdef"><b>Definition</b> Result.h:48</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a2b5f050c9b2aef10831927cece55b02a"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2b5f050c9b2aef10831927cece55b02a">pulsar::ResultProducerNotInitialized</a></div><div class="ttdeci">@ ResultProducerNotInitialized</div><div class="ttdoc">Consumer is not initialized.</div><div class="ttdef"><b>Definition</b> Result.h:63</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a2e01cfc218b721cbd2e2a06bf3cb78b0"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a2e01cfc218b721cbd2e2a06bf3cb78b0">pulsar::ResultCumulativeAcknowledgementNotAllowedError</a></div><div class="ttdeci">@ ResultCumulativeAcknowledgementNotAllowedError</div><div class="ttdef"><b>Definition</b> Result.h:86</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a39c2049f4e7e428d2a4473b68223a53c"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a39c2049f4e7e428d2a4473b68223a53c">pulsar::ResultTransactionConflict</a></div><div class="ttdeci">@ ResultTransactionConflict</div><div class="ttdoc">Not allowed.</div><div class="ttdef"><b>Definition</b> Result.h:91</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a3ac5992ae486593f5aee1538970b51a6"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a3ac5992ae486593f5aee1538970b51a6">pulsar::ResultBrokerPersistenceError</a></div><div class="ttdeci">@ ResultBrokerPersistenceError</div><div class="ttdoc">Broker failed in updating metadata.</div><div class="ttdef"><b>Definition</b> Result.h:53</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a42ae88341f22c34ed9baac35804f1b01"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a42ae88341f22c34ed9baac35804f1b01">pulsar::ResultLookupError</a></div><div class="ttdeci">@ ResultLookupError</div><div class="ttdoc">Operation timed out.</div><div class="ttdef"><b>Definition</b> Result.h:44</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a43765d6a6cab85363b2cad047371294b"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a43765d6a6cab85363b2cad047371294b">pulsar::ResultMessageTooBig</a></div><div class="ttdeci">@ ResultMessageTooBig</div><div class="ttdoc">Producer queue is full.</div><div class="ttdef"><b>Definition</b> Result.h:75</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a48d27a5310cda91d13a23324a08533e9"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a48d27a5310cda91d13a23324a08533e9">pulsar::ResultConsumerNotInitialized</a></div><div class="ttdeci">@ ResultConsumerNotInitialized</div><div class="ttdoc">Error in publishing an already used message.</div><div class="ttdef"><b>Definition</b> Result.h:62</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a4db07aa497065f6cc0d8e314bf852057"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a4db07aa497065f6cc0d8e314bf852057">pulsar::ResultAuthorizationError</a></div><div class="ttdeci">@ ResultAuthorizationError</div><div class="ttdoc">Authentication failed on broker.</div><div class="ttdef"><b>Definition</b> Result.h:49</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a5cbe2e189b60f91ff0f2e82b973db31b"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a5cbe2e189b60f91ff0f2e82b973db31b">pulsar::ResultConsumerBusy</a></div><div class="ttdeci">@ ResultConsumerBusy</div><div class="ttdoc">Corrupt message checksum failure.</div><div class="ttdef"><b>Definition</b> Result.h:56</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a60abb5ad06a78a3d6d40b2131534dfeb"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a60abb5ad06a78a3d6d40b2131534dfeb">pulsar::ResultOperationNotSupported</a></div><div class="ttdeci">@ ResultOperationNotSupported</div><div class="ttdef"><b>Definition</b> Result.h:71</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a60d3371f74155ecb5b11efbf217a2174"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a60d3371f74155ecb5b11efbf217a2174">pulsar::ResultChecksumError</a></div><div class="ttdeci">@ ResultChecksumError</div><div class="ttdoc">Broker failed to persist entry.</div><div class="ttdef"><b>Definition</b> Result.h:54</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a62df217dec3d3f75c7099d1464c92750"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a62df217dec3d3f75c7099d1464c92750">pulsar::ResultTopicTerminated</a></div><div class="ttdeci">@ ResultTopicTerminated</div><div class="ttdoc">Error when an older client/version doesn&#39;t support a required feature.</div><div class="ttdef"><b>Definition</b> Result.h:80</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a6370706ff98bf4c513f11489679543cb"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a6370706ff98bf4c513f11489679543cb">pulsar::ResultProducerFenced</a></div><div class="ttdeci">@ ResultProducerFenced</div><div class="ttdoc">Transaction not found.</div><div class="ttdef"><b>Definition</b> Result.h:93</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a653a82475a2715f839ba52329a9b6414"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a653a82475a2715f839ba52329a9b6414">pulsar::ResultTransactionCoordinatorNotFoundError</a></div><div class="ttdeci">@ ResultTransactionCoordinatorNotFoundError</div><div class="ttdef"><b>Definition</b> Result.h:88</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a67722ba0750e461ae03912f5dc10d03a"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a67722ba0750e461ae03912f5dc10d03a">pulsar::ResultInterrupted</a></div><div class="ttdeci">@ ResultInterrupted</div><div class="ttdoc">Client-wide memory limit has been reached.</div><div class="ttdef"><b>Definition</b> Result.h:97</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a685954a2aedb14c0f3669d579bfd1193"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a685954a2aedb14c0f3669d579bfd1193">pulsar::ResultInvalidUrl</a></div><div class="ttdeci">@ ResultInvalidUrl</div><div class="ttdoc">Invalid topic name.</div><div class="ttdef"><b>Definition</b> Result.h:68</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a6c11f7cd8f0bc274d12c5157157ad916"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a6c11f7cd8f0bc274d12c5157157ad916">pulsar::ResultAlreadyClosed</a></div><div class="ttdeci">@ ResultAlreadyClosed</div><div class="ttdoc">Producer/Consumer is not currently connected to broker.</div><div class="ttdef"><b>Definition</b> Result.h:58</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a742ada2f12ae5b2ca11fa674889dc186"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a742ada2f12ae5b2ca11fa674889dc186">pulsar::ResultInvalidTxnStatusError</a></div><div class="ttdeci">@ ResultInvalidTxnStatusError</div><div class="ttdoc">Transaction coordinator not found.</div><div class="ttdef"><b>Definition</b> Result.h:89</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a7eaf7df2c4a2ac2f874e044db02c6733"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a7eaf7df2c4a2ac2f874e044db02c6733">pulsar::ResultMemoryBufferIsFull</a></div><div class="ttdeci">@ ResultMemoryBufferIsFull</div><div class="ttdoc">Producer was fenced by broker.</div><div class="ttdef"><b>Definition</b> Result.h:95</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a8014344f94ba9ad55337f01767e0e30c"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a8014344f94ba9ad55337f01767e0e30c">pulsar::ResultErrorGettingAuthenticationData</a></div><div class="ttdeci">@ ResultErrorGettingAuthenticationData</div><div class="ttdoc">Client is not authorized to create producer/consumer.</div><div class="ttdef"><b>Definition</b> Result.h:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a875234396481a34fb7f02d3ecd1936f0"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a875234396481a34fb7f02d3ecd1936f0">pulsar::ResultInvalidMessage</a></div><div class="ttdeci">@ ResultInvalidMessage</div><div class="ttdoc">Producer/Consumer is already closed and not accepting any operation.</div><div class="ttdef"><b>Definition</b> Result.h:60</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079a888578f8569121606cfcfa6044c594c3"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a888578f8569121606cfcfa6044c594c3">pulsar::ResultUnsupportedVersionError</a></div><div class="ttdeci">@ ResultUnsupportedVersionError</div><div class="ttdoc">Consumer not found.</div><div class="ttdef"><b>Definition</b> Result.h:79</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079aa084aea99a198f2d01c6c98eeb44ff9e"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079aa084aea99a198f2d01c6c98eeb44ff9e">pulsar::ResultReadError</a></div><div class="ttdeci">@ ResultReadError</div><div class="ttdoc">Failed to connect to broker.</div><div class="ttdef"><b>Definition</b> Result.h:46</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ab26ee1bb88fafefa107071fa1fd775bc"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ab26ee1bb88fafefa107071fa1fd775bc">pulsar::ResultConnectError</a></div><div class="ttdeci">@ ResultConnectError</div><div class="ttdoc">Broker lookup failed.</div><div class="ttdef"><b>Definition</b> Result.h:45</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ab5cc52655496666d96f35edab07c9e7f"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ab5cc52655496666d96f35edab07c9e7f">pulsar::ResultProducerBlockedQuotaExceededException</a></div><div class="ttdeci">@ ResultProducerBlockedQuotaExceededException</div><div class="ttdoc">Producer is blocked.</div><div class="ttdef"><b>Definition</b> Result.h:73</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ac0f35889e7dd6cb7f634baedb8481e9e"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac0f35889e7dd6cb7f634baedb8481e9e">pulsar::ResultConsumerAssignError</a></div><div class="ttdeci">@ ResultConsumerAssignError</div><div class="ttdoc">Specified schema is incompatible with the topic&#39;s schema.</div><div class="ttdef"><b>Definition</b> Result.h:84</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ac131b27876dfd64d8e6b3355578a8f77"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac131b27876dfd64d8e6b3355578a8f77">pulsar::ResultCryptoError</a></div><div class="ttdeci">@ ResultCryptoError</div><div class="ttdoc">Topic was already terminated.</div><div class="ttdef"><b>Definition</b> Result.h:81</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ac74e9fb1b2c25caf17ac3446303b7a71"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ac74e9fb1b2c25caf17ac3446303b7a71">pulsar::ResultConsumerNotFound</a></div><div class="ttdeci">@ ResultConsumerNotFound</div><div class="ttdoc">Subscription not found.</div><div class="ttdef"><b>Definition</b> Result.h:78</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ad0a7588cc2ac84de7fc17331ed59b544"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad0a7588cc2ac84de7fc17331ed59b544">pulsar::ResultProducerBusy</a></div><div class="ttdeci">@ ResultProducerBusy</div><div class="ttdoc">Producer is not initialized.</div><div class="ttdef"><b>Definition</b> Result.h:64</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ad1921e33dd6a45431a0209b70588cf48"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad1921e33dd6a45431a0209b70588cf48">pulsar::ResultTopicNotFound</a></div><div class="ttdeci">@ ResultTopicNotFound</div><div class="ttdoc">Trying to send a messages exceeding the max size.</div><div class="ttdef"><b>Definition</b> Result.h:76</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ad38a4ab387c0769f3c8c30fd2c7413a1"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad38a4ab387c0769f3c8c30fd2c7413a1">pulsar::ResultNotAllowedError</a></div><div class="ttdeci">@ ResultNotAllowedError</div><div class="ttdoc">Invalid txn status error.</div><div class="ttdef"><b>Definition</b> Result.h:90</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079ad3d7545107897e19819066fe42e81a06"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079ad3d7545107897e19819066fe42e81a06">pulsar::ResultInvalidConfiguration</a></div><div class="ttdeci">@ ResultInvalidConfiguration</div><div class="ttdoc">Unknown error happened on broker.</div><div class="ttdef"><b>Definition</b> Result.h:41</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079aeb1858ddf791b7288ab1cb066d70cfb4"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079aeb1858ddf791b7288ab1cb066d70cfb4">pulsar::ResultTimeout</a></div><div class="ttdeci">@ ResultTimeout</div><div class="ttdoc">Invalid configuration.</div><div class="ttdef"><b>Definition</b> Result.h:43</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079af4bfae37b494ea0a2599cc4596bccdf0"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079af4bfae37b494ea0a2599cc4596bccdf0">pulsar::ResultTransactionNotFound</a></div><div class="ttdeci">@ ResultTransactionNotFound</div><div class="ttdoc">Transaction ack conflict.</div><div class="ttdef"><b>Definition</b> Result.h:92</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079af8a459f352105f7e853e02ca2af193b0"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079af8a459f352105f7e853e02ca2af193b0">pulsar::ResultServiceUnitNotReady</a></div><div class="ttdeci">@ ResultServiceUnitNotReady</div><div class="ttdoc">Client Initialized with Invalid Broker Url (VIP Url passed to Client Constructor).</div><div class="ttdef"><b>Definition</b> Result.h:69</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079afcb0b43f04e494ba3784f6c259b5137f"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079afcb0b43f04e494ba3784f6c259b5137f">pulsar::ResultInvalidTopicName</a></div><div class="ttdeci">@ ResultInvalidTopicName</div><div class="ttdoc">Too Many concurrent LookupRequest.</div><div class="ttdef"><b>Definition</b> Result.h:67</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079afe509853528453adc4ca304ea9b1d79e"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079afe509853528453adc4ca304ea9b1d79e">pulsar::ResultIncompatibleSchema</a></div><div class="ttdeci">@ ResultIncompatibleSchema</div><div class="ttdoc">Error when crypto operation fails.</div><div class="ttdef"><b>Definition</b> Result.h:83</div></div>
+<div class="ttc" id="astructpulsar_1_1_error_html"><div class="ttname"><a href="structpulsar_1_1_error.html">pulsar::Error</a></div><div class="ttdef"><b>Definition</b> Result.h:107</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_schema_8h_source.html b/static/api/cpp/4.2.x/_schema_8h_source.html
new file mode 100644
index 00000000000..a2a78f0901f
--- /dev/null
+++ b/static/api/cpp/4.2.x/_schema_8h_source.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/Schema.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">Schema.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span></div>
+<div class="foldopen" id="foldopen00034" data-start="{" data-end="};">
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">   34</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">KeyValueEncodingType</a> : uint8_t</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>{</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6a561af55a6a824ae74125a6cf4eade06a">   39</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6a561af55a6a824ae74125a6cf4eade06a">SEPARATED</a>,</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span></div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6acfbac07c6ae3e73f0e10ca60ad916bef">   44</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6acfbac07c6ae3e73f0e10ca60ad916bef">INLINE</a></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>};</div>
+</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *strEncodingType(<a class="code hl_enumeration" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">pulsar::KeyValueEncodingType</a> encodingType);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>PULSAR_PUBLIC <a class="code hl_enumeration" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">KeyValueEncodingType</a> enumEncodingType(<span class="keyword">const</span> std::string &amp;encodingTypeStr);</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="foldopen" id="foldopen00052" data-start="{" data-end="};">
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">   52</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">SchemaType</a> : int8_t</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>{</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8af9377cb56d5b6973392d0fd2ca76009a">   57</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8af9377cb56d5b6973392d0fd2ca76009a">NONE</a> = 0,</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ab936a9dad2cbb5fca28fc477ff39fb70">   62</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ab936a9dad2cbb5fca28fc477ff39fb70">STRING</a> = 1,</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a15f7910601e8d522f151f3129c753283">   67</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a15f7910601e8d522f151f3129c753283">JSON</a> = 2,</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span></div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a5054f171f6c60b73043727ddc60698a0">   72</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a5054f171f6c60b73043727ddc60698a0">PROTOBUF</a> = 3,</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span></div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ac728ff4cb4de807c1b6fa8ca33f41d47">   77</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ac728ff4cb4de807c1b6fa8ca33f41d47">AVRO</a> = 4,</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a2c52dde965d6ba972179fa14116160e9">   82</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a2c52dde965d6ba972179fa14116160e9">INT8</a> = 6,</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a9e5ed020cb2ca197a0918946352cf96e">   87</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a9e5ed020cb2ca197a0918946352cf96e">INT16</a> = 7,</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span></div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ac048e1576ab161018f9e3c6eda6307d0">   92</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ac048e1576ab161018f9e3c6eda6307d0">INT32</a> = 8,</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span></div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a11fafed4115309cf1f33eac044e704a2">   97</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a11fafed4115309cf1f33eac044e704a2">INT64</a> = 9,</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span></div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a5102395892b9d15d0a0483a27ca64777">  102</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a5102395892b9d15d0a0483a27ca64777">FLOAT</a> = 10,</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a1b1684230ae9c15941cb3fe05bf972f0">  107</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a1b1684230ae9c15941cb3fe05bf972f0">DOUBLE</a> = 11,</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ab6fbe0f5b80de2aa67b68572e7a054d3">  112</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ab6fbe0f5b80de2aa67b68572e7a054d3">KEY_VALUE</a> = 15,</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span></div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a24048f6ae2e1048989e69644edcdc8f6">  117</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a24048f6ae2e1048989e69644edcdc8f6">PROTOBUF_NATIVE</a> = 20,</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span></div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a4dcbdcae67c5f78b7c4fff2c2135cba2">  122</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a4dcbdcae67c5f78b7c4fff2c2135cba2">BYTES</a> = -1,</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span></div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a6a9078e01119bddf19aa24dc05390f99">  127</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a6a9078e01119bddf19aa24dc05390f99">AUTO_CONSUME</a> = -3,</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span></div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ad1af93d272614c940d322497eb8e31f0">  132</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ad1af93d272614c940d322497eb8e31f0">AUTO_PUBLISH</a> = -4,</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>};</div>
+</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span><span class="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *strSchemaType(<a class="code hl_enumeration" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">SchemaType</a> schemaType);</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>PULSAR_PUBLIC <a class="code hl_enumeration" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">SchemaType</a> enumSchemaType(<span class="keyword">const</span> std::string &amp;schemaTypeStr);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span><span class="keyword">class </span>SchemaInfoImpl;</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span><span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span></div>
+<div class="foldopen" id="foldopen00147" data-start="{" data-end="};">
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html">  147</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">SchemaInfo</a> {</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">  159</a></span>    <a class="code hl_function" href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">SchemaInfo</a>();</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span></div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#ab0e388e0cc81a21da3917156053e16d2">  167</a></span>    <a class="code hl_function" href="classpulsar_1_1_schema_info.html#ab0e388e0cc81a21da3917156053e16d2">SchemaInfo</a>(<a class="code hl_enumeration" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">SchemaType</a> schemaType, <span class="keyword">const</span> std::string &amp;name, <span class="ke [...]
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>               <span class="keyword">const</span> StringMap &amp;properties = StringMap());</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span></div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#abb5fa2e2c1dfe4bdd002a90359bab732">  175</a></span>    <a class="code hl_function" href="classpulsar_1_1_schema_info.html#abb5fa2e2c1dfe4bdd002a90359bab732">SchemaInfo</a>(<span class="keyword">const</span> <a class="code hl_function" href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">SchemaInfo</a> &amp;keySchema, <span class="keyword">con [...]
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>               <span class="keyword">const</span> <a class="code hl_enumeration" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">KeyValueEncodingType</a> &amp;keyValueEncodingType = <a class="code hl_enumvalue" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6acfbac07c6ae3e73f0e10ca60ad916bef">KeyValueEncodingType::INLINE</a>);</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span></div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#a6ff46ec7c53346fb9249edd1e34d6e62">  181</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">SchemaType</a> <a class="code hl_function" href="classpulsar_1_1_schema_info.html#a6ff46ec7c53346fb9249edd1e34d6e62">getSchemaType</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#ae253cd885dfbc4a9e70d1374ded43c38">  186</a></span>    <span class="keyword">const</span> std::string &amp;<a class="code hl_function" href="classpulsar_1_1_schema_info.html#ae253cd885dfbc4a9e70d1374ded43c38">getName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span></div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#ad75d2496d13da8dc13f738606f7c72ec">  191</a></span>    <span class="keyword">const</span> std::string &amp;<a class="code hl_function" href="classpulsar_1_1_schema_info.html#ad75d2496d13da8dc13f738606f7c72ec">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span></div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#a5365dc263da01261bb92c95e27ffa0d6">  196</a></span>    <span class="keyword">const</span> StringMap &amp;<a class="code hl_function" href="classpulsar_1_1_schema_info.html#a5365dc263da01261bb92c95e27ffa0d6">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;SchemaInfoImpl&gt; SchemaInfoImplPtr;</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>    SchemaInfoImplPtr impl_;</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>};</div>
+</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>PULSAR_PUBLIC std::ostream &amp;operator&lt;&lt;(std::ostream &amp;s, <a class="code hl_enumeration" href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">pulsar::SchemaType</a> schemaType);</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>PULSAR_PUBLIC std::ostream &amp;operator&lt;&lt;(std::ostream &amp;s, <a class="code hl_enumeration" href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">pulsar::KeyValueEncodingType</a> encodingType);</div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_a5365dc263da01261bb92c95e27ffa0d6"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#a5365dc263da01261bb92c95e27ffa0d6">pulsar::SchemaInfo::getProperties</a></div><div class="ttdeci">const StringMap &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_a6ff46ec7c53346fb9249edd1e34d6e62"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#a6ff46ec7c53346fb9249edd1e34d6e62">pulsar::SchemaInfo::getSchemaType</a></div><div class="ttdeci">SchemaType getSchemaType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_a92a6aa4d6f21ce8511e680b86ed0de93"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">pulsar::SchemaInfo::SchemaInfo</a></div><div class="ttdeci">SchemaInfo()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_ab0e388e0cc81a21da3917156053e16d2"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#ab0e388e0cc81a21da3917156053e16d2">pulsar::SchemaInfo::SchemaInfo</a></div><div class="ttdeci">SchemaInfo(SchemaType schemaType, const std::string &amp;name, const std::string &amp;schema, const StringMap &amp;properties=StringMap())</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_abb5fa2e2c1dfe4bdd002a90359bab732"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#abb5fa2e2c1dfe4bdd002a90359bab732">pulsar::SchemaInfo::SchemaInfo</a></div><div class="ttdeci">SchemaInfo(const SchemaInfo &amp;keySchema, const SchemaInfo &amp;valueSchema, const KeyValueEncodingType &amp;keyValueEncodingType=KeyValueEncodingType::INLINE)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_ad75d2496d13da8dc13f738606f7c72ec"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#ad75d2496d13da8dc13f738606f7c72ec">pulsar::SchemaInfo::getSchema</a></div><div class="ttdeci">const std::string &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_ae253cd885dfbc4a9e70d1374ded43c38"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#ae253cd885dfbc4a9e70d1374ded43c38">pulsar::SchemaInfo::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8">pulsar::SchemaType</a></div><div class="ttdeci">SchemaType</div><div class="ttdef"><b>Definition</b> Schema.h:53</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a11fafed4115309cf1f33eac044e704a2"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a11fafed4115309cf1f33eac044e704a2">pulsar::INT64</a></div><div class="ttdeci">@ INT64</div><div class="ttdef"><b>Definition</b> Schema.h:97</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a15f7910601e8d522f151f3129c753283"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a15f7910601e8d522f151f3129c753283">pulsar::JSON</a></div><div class="ttdeci">@ JSON</div><div class="ttdef"><b>Definition</b> Schema.h:67</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a1b1684230ae9c15941cb3fe05bf972f0"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a1b1684230ae9c15941cb3fe05bf972f0">pulsar::DOUBLE</a></div><div class="ttdeci">@ DOUBLE</div><div class="ttdef"><b>Definition</b> Schema.h:107</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a24048f6ae2e1048989e69644edcdc8f6"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a24048f6ae2e1048989e69644edcdc8f6">pulsar::PROTOBUF_NATIVE</a></div><div class="ttdeci">@ PROTOBUF_NATIVE</div><div class="ttdef"><b>Definition</b> Schema.h:117</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a2c52dde965d6ba972179fa14116160e9"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a2c52dde965d6ba972179fa14116160e9">pulsar::INT8</a></div><div class="ttdeci">@ INT8</div><div class="ttdef"><b>Definition</b> Schema.h:82</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a4dcbdcae67c5f78b7c4fff2c2135cba2"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a4dcbdcae67c5f78b7c4fff2c2135cba2">pulsar::BYTES</a></div><div class="ttdeci">@ BYTES</div><div class="ttdef"><b>Definition</b> Schema.h:122</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a5054f171f6c60b73043727ddc60698a0"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a5054f171f6c60b73043727ddc60698a0">pulsar::PROTOBUF</a></div><div class="ttdeci">@ PROTOBUF</div><div class="ttdef"><b>Definition</b> Schema.h:72</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a5102395892b9d15d0a0483a27ca64777"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a5102395892b9d15d0a0483a27ca64777">pulsar::FLOAT</a></div><div class="ttdeci">@ FLOAT</div><div class="ttdef"><b>Definition</b> Schema.h:102</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a6a9078e01119bddf19aa24dc05390f99"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a6a9078e01119bddf19aa24dc05390f99">pulsar::AUTO_CONSUME</a></div><div class="ttdeci">@ AUTO_CONSUME</div><div class="ttdef"><b>Definition</b> Schema.h:127</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8a9e5ed020cb2ca197a0918946352cf96e"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8a9e5ed020cb2ca197a0918946352cf96e">pulsar::INT16</a></div><div class="ttdeci">@ INT16</div><div class="ttdef"><b>Definition</b> Schema.h:87</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8ab6fbe0f5b80de2aa67b68572e7a054d3"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ab6fbe0f5b80de2aa67b68572e7a054d3">pulsar::KEY_VALUE</a></div><div class="ttdeci">@ KEY_VALUE</div><div class="ttdef"><b>Definition</b> Schema.h:112</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8ab936a9dad2cbb5fca28fc477ff39fb70"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ab936a9dad2cbb5fca28fc477ff39fb70">pulsar::STRING</a></div><div class="ttdeci">@ STRING</div><div class="ttdef"><b>Definition</b> Schema.h:62</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8ac048e1576ab161018f9e3c6eda6307d0"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ac048e1576ab161018f9e3c6eda6307d0">pulsar::INT32</a></div><div class="ttdeci">@ INT32</div><div class="ttdef"><b>Definition</b> Schema.h:92</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8ac728ff4cb4de807c1b6fa8ca33f41d47"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ac728ff4cb4de807c1b6fa8ca33f41d47">pulsar::AVRO</a></div><div class="ttdeci">@ AVRO</div><div class="ttdef"><b>Definition</b> Schema.h:77</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8ad1af93d272614c940d322497eb8e31f0"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8ad1af93d272614c940d322497eb8e31f0">pulsar::AUTO_PUBLISH</a></div><div class="ttdeci">@ AUTO_PUBLISH</div><div class="ttdef"><b>Definition</b> Schema.h:132</div></div>
+<div class="ttc" id="anamespacepulsar_html_a110c1992e36a25acc192ea4f399bc4f8af9377cb56d5b6973392d0fd2ca76009a"><div class="ttname"><a href="namespacepulsar.html#a110c1992e36a25acc192ea4f399bc4f8af9377cb56d5b6973392d0fd2ca76009a">pulsar::NONE</a></div><div class="ttdeci">@ NONE</div><div class="ttdef"><b>Definition</b> Schema.h:57</div></div>
+<div class="ttc" id="anamespacepulsar_html_a37a42c28f591ba599466990fb42e04a6"><div class="ttname"><a href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6">pulsar::KeyValueEncodingType</a></div><div class="ttdeci">KeyValueEncodingType</div><div class="ttdef"><b>Definition</b> Schema.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_a37a42c28f591ba599466990fb42e04a6a561af55a6a824ae74125a6cf4eade06a"><div class="ttname"><a href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6a561af55a6a824ae74125a6cf4eade06a">pulsar::KeyValueEncodingType::SEPARATED</a></div><div class="ttdeci">@ SEPARATED</div><div class="ttdef"><b>Definition</b> Schema.h:39</div></div>
+<div class="ttc" id="anamespacepulsar_html_a37a42c28f591ba599466990fb42e04a6acfbac07c6ae3e73f0e10ca60ad916bef"><div class="ttname"><a href="namespacepulsar.html#a37a42c28f591ba599466990fb42e04a6acfbac07c6ae3e73f0e10ca60ad916bef">pulsar::KeyValueEncodingType::INLINE</a></div><div class="ttdeci">@ INLINE</div><div class="ttdef"><b>Definition</b> Schema.h:44</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_service_info_8h_source.html b/static/api/cpp/4.2.x/_service_info_8h_source.html
new file mode 100644
index 00000000000..5cace12bdea
--- /dev/null
+++ b/static/api/cpp/4.2.x/_service_info_8h_source.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ServiceInfo.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ServiceInfo.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_SERVICE_INFO_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_SERVICE_INFO_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Authentication.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;optional&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span></div>
+<div class="foldopen" id="foldopen00033" data-start="{" data-end="};">
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classpulsar_1_1_service_info.html">   33</a></span><span class="keyword">class </span>PULSAR_PUBLIC ServiceInfo final {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    ServiceInfo(std::string serviceUrl, AuthenticationPtr authentication = AuthFactory::Disabled(),</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>                std::optional&lt;std::string&gt; tlsTrustCertsFilePath = std::nullopt);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keyword">auto</span>&amp; serviceUrl() <span class="keyword">const</span> <span class="keyword">noexcept</span> { <span class="keywordflow">return</span> serviceUrl_; }</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>    <span class="keyword">auto</span> useTls() <span class="keyword">const</span> <span class="keyword">noexcept</span> { <span class="keywordflow">return</span> useTls_; }</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    <span class="keyword">auto</span>&amp; authentication() <span class="keyword">const</span> <span class="keyword">noexcept</span> { <span class="keywordflow">return</span> authentication_; }</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>    <span class="keyword">auto</span>&amp; tlsTrustCertsFilePath() <span class="keyword">const</span> <span class="keyword">noexcept</span> { <span class="keywordflow">return</span> tlsTrustCertsFilePath_; }</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> ServiceInfo&amp; other) <span class="keyword">const</span> <span class="keyword">noexcept</span> {</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>        <span class="keywordflow">return</span> serviceUrl_ == other.serviceUrl_ &amp;&amp; useTls_ == other.useTls_ &amp;&amp;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>               authentication_ == other.authentication_ &amp;&amp;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>               tlsTrustCertsFilePath_ == other.tlsTrustCertsFilePath_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    }</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>    std::string serviceUrl_;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>    <span class="keywordtype">bool</span> useTls_;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>    AuthenticationPtr authentication_;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    std::optional&lt;std::string&gt; tlsTrustCertsFilePath_;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>};</div>
+</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_service_info_provider_8h_source.html b/static/api/cpp/4.2.x/_service_info_provider_8h_source.html
new file mode 100644
index 00000000000..b8cdf38b914
--- /dev/null
+++ b/static/api/cpp/4.2.x/_service_info_provider_8h_source.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/ServiceInfoProvider.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">ServiceInfoProvider.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_SERVICE_INFO_PROVIDER_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_SERVICE_INFO_PROVIDER_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ServiceInfo.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_service_info_provider.html">   28</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="classpulsar_1_1_service_info_provider.html#ad5ab76fd3b949bc66d68d852ae065e25">   34</a></span>    <span class="keyword">virtual</span> <a class="code hl_function" href="classpulsar_1_1_service_info_provider.html#ad5ab76fd3b949bc66d68d852ae065e25">~ServiceInfoProvider</a>() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classpulsar_1_1_service_info_provider.html#a78b4379134db62c9860d77d4f45556da">   43</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_service_info.html">ServiceInfo</a> <a class="code hl_function" href="classpulsar_1_1_service_info_provider.html#a78b4379134db62c9860d77d4f45556da">initialServiceInfo</a>() = 0;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classpulsar_1_1_service_info_provider.html#a10695ec11c1a04b6d69df22f51925d49">   57</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_service_info_provider.html#a10695ec11c1a04b6d69df22f51925d49">initialize</a>(std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_class" href="classpulsar_ [...]
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>};</div>
+</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>};  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="preprocessor">#endif</span></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_html"><div class="ttname"><a href="classpulsar_1_1_service_info.html">pulsar::ServiceInfo</a></div><div class="ttdef"><b>Definition</b> ServiceInfo.h:33</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_provider_html"><div class="ttname"><a href="classpulsar_1_1_service_info_provider.html">pulsar::ServiceInfoProvider</a></div><div class="ttdef"><b>Definition</b> ServiceInfoProvider.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_provider_html_a10695ec11c1a04b6d69df22f51925d49"><div class="ttname"><a href="classpulsar_1_1_service_info_provider.html#a10695ec11c1a04b6d69df22f51925d49">pulsar::ServiceInfoProvider::initialize</a></div><div class="ttdeci">virtual void initialize(std::function&lt; void(ServiceInfo)&gt; onServiceInfoUpdate)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_provider_html_a78b4379134db62c9860d77d4f45556da"><div class="ttname"><a href="classpulsar_1_1_service_info_provider.html#a78b4379134db62c9860d77d4f45556da">pulsar::ServiceInfoProvider::initialServiceInfo</a></div><div class="ttdeci">virtual ServiceInfo initialServiceInfo()=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_service_info_provider_html_ad5ab76fd3b949bc66d68d852ae065e25"><div class="ttname"><a href="classpulsar_1_1_service_info_provider.html#ad5ab76fd3b949bc66d68d852ae065e25">pulsar::ServiceInfoProvider::~ServiceInfoProvider</a></div><div class="ttdeci">virtual ~ServiceInfoProvider()=default</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_table_view_8h_source.html b/static/api/cpp/4.2.x/_table_view_8h_source.html
new file mode 100644
index 00000000000..32ca6e5595b
--- /dev/null
+++ b/static/api/cpp/4.2.x/_table_view_8h_source.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/TableView.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">TableView.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef TABEL_VIEW_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define TABEL_VIEW_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/TableViewConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>TableViewImpl;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result)&gt; <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> std::function&lt;void(<span class="keyword">const</span> std::string&amp; key, <span class="keyword">const</span> std::string&amp; value)&gt; TableViewAction;</div>
+<div class="foldopen" id="foldopen00038" data-start="{" data-end="};">
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html">   38</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_function" href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">TableView</a> {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">   43</a></span>    <a class="code hl_function" href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">TableView</a>();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a7184812e0d4bf374a23ba7c99d53f18e">   69</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a7184812e0d4bf374a23ba7c99d53f18e">retrieveValue</a>(<span class="keyword">const</span> std::string&amp; key, std::string&amp; value);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a8bc874dc48a7381726e48145a8037879">   78</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a8bc874dc48a7381726e48145a8037879">getValue</a>(<span class="keyword">const</span> std::string&amp; key, std::string&amp; value) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span></div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a212c8a8897249b47c1cd6f44e04d452b">   85</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a212c8a8897249b47c1cd6f44e04d452b">containsKey</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span></div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a5169558ea5a27b29dd5bcf040fa97543">   90</a></span>    std::unordered_map&lt;std::string, std::string&gt; <a class="code hl_function" href="classpulsar_1_1_table_view.html#a5169558ea5a27b29dd5bcf040fa97543">snapshot</a>();</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span></div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#afdb10373c073e4b0722606a0f9b4174e">   95</a></span>    std::size_t <a class="code hl_function" href="classpulsar_1_1_table_view.html#afdb10373c073e4b0722606a0f9b4174e">size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a98b532f6704e54f6cb9f40dc9a9ea7d3">  101</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a98b532f6704e54f6cb9f40dc9a9ea7d3">forEach</a>(<span class="keyword">const</span> TableViewAction&amp; action);</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span></div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a1e2179e83cbd5257e424b0808d75da3f">  107</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a1e2179e83cbd5257e424b0808d75da3f">forEachAndListen</a>(<span class="keyword">const</span> TableViewAction&amp; action);</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span></div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#aaeae7c5dc9e8e9e19b93a58597992b7f">  112</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#aaeae7c5dc9e8e9e19b93a58597992b7f">closeAsync</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>&amp; callback);</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span></div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a5f913f66c65c819a0b151daf08d43440">  117</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a5f913f66c65c819a0b151daf08d43440">close</a>();</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;TableViewImpl&gt; TableViewImplPtr;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    TableViewImplPtr impl_;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    <span class="keyword">explicit</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">TableView</a>(TableViewImplPtr);</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientImpl;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>};</div>
+</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="preprocessor">#endif </span><span class="comment">/* TABEL_VIEW_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a1e2179e83cbd5257e424b0808d75da3f"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a1e2179e83cbd5257e424b0808d75da3f">pulsar::TableView::forEachAndListen</a></div><div class="ttdeci">void forEachAndListen(const TableViewAction &amp;action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a212c8a8897249b47c1cd6f44e04d452b"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a212c8a8897249b47c1cd6f44e04d452b">pulsar::TableView::containsKey</a></div><div class="ttdeci">bool containsKey(const std::string &amp;key) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a5169558ea5a27b29dd5bcf040fa97543"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a5169558ea5a27b29dd5bcf040fa97543">pulsar::TableView::snapshot</a></div><div class="ttdeci">std::unordered_map&lt; std::string, std::string &gt; snapshot()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a5f913f66c65c819a0b151daf08d43440"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a5f913f66c65c819a0b151daf08d43440">pulsar::TableView::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a7184812e0d4bf374a23ba7c99d53f18e"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a7184812e0d4bf374a23ba7c99d53f18e">pulsar::TableView::retrieveValue</a></div><div class="ttdeci">bool retrieveValue(const std::string &amp;key, std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a8bc874dc48a7381726e48145a8037879"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a8bc874dc48a7381726e48145a8037879">pulsar::TableView::getValue</a></div><div class="ttdeci">bool getValue(const std::string &amp;key, std::string &amp;value) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a98b532f6704e54f6cb9f40dc9a9ea7d3"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a98b532f6704e54f6cb9f40dc9a9ea7d3">pulsar::TableView::forEach</a></div><div class="ttdeci">void forEach(const TableViewAction &amp;action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_aaeae7c5dc9e8e9e19b93a58597992b7f"><div class="ttname"><a href="classpulsar_1_1_table_view.html#aaeae7c5dc9e8e9e19b93a58597992b7f">pulsar::TableView::closeAsync</a></div><div class="ttdeci">void closeAsync(const ResultCallback &amp;callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_ae43275f26ff0ec494a75c11210ec6139"><div class="ttname"><a href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">pulsar::TableView::TableView</a></div><div class="ttdeci">TableView()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_afdb10373c073e4b0722606a0f9b4174e"><div class="ttname"><a href="classpulsar_1_1_table_view.html#afdb10373c073e4b0722606a0f9b4174e">pulsar::TableView::size</a></div><div class="ttdeci">std::size_t size() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a23832680be30b95d54755b56310e9079"><div class="ttname"><a href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_table_view_configuration_8h_source.html b/static/api/cpp/4.2.x/_table_view_configuration_8h_source.html
new file mode 100644
index 00000000000..eb35b62de2f
--- /dev/null
+++ b/static/api/cpp/4.2.x/_table_view_configuration_8h_source.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/TableViewConfiguration.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">TableViewConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_TABLEVIEW_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_TABLEVIEW_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="foldopen" id="foldopen00027" data-start="{" data-end="};">
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="structpulsar_1_1_table_view_configuration.html">   27</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    <span class="comment">// Declare the schema of the data that this table view will be accepting.</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>    <span class="comment">// The schema will be checked against the schema of the topic, and the</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="comment">// table view creation will fail if it&#39;s not compatible.</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> schemaInfo;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    <span class="comment">// The name of the subscription to the topic. Default value is reader-{random string}.</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    std::string subscriptionName;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>};</div>
+</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_TABLEVIEW_CONFIGURATION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:147</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="astructpulsar_1_1_table_view_configuration_html"><div class="ttname"><a href="structpulsar_1_1_table_view_configuration.html">pulsar::TableViewConfiguration</a></div><div class="ttdef"><b>Definition</b> TableViewConfiguration.h:27</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_topic_metadata_8h_source.html b/static/api/cpp/4.2.x/_topic_metadata_8h_source.html
new file mode 100644
index 00000000000..91ce404e752
--- /dev/null
+++ b/static/api/cpp/4.2.x/_topic_metadata_8h_source.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/TopicMetadata.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">TopicMetadata.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef TOPIC_METADATA_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define TOPIC_METADATA_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_topic_metadata.html">   28</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_topic_metadata.html">TopicMetadata</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_topic_metadata.html">~TopicMetadata</a>() {}</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classpulsar_1_1_topic_metadata.html#a427a1228dd01108f5748ce92516bf5b1">   35</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_topic_metadata.html#a427a1228dd01108f5748ce92516bf5b1">getNumPartitions</a>() <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>};</div>
+</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#endif </span><span class="comment">/* TOPIC_METADATA_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_topic_metadata_html"><div class="ttname"><a href="classpulsar_1_1_topic_metadata.html">pulsar::TopicMetadata</a></div><div class="ttdef"><b>Definition</b> TopicMetadata.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_topic_metadata_html_a427a1228dd01108f5748ce92516bf5b1"><div class="ttname"><a href="classpulsar_1_1_topic_metadata.html#a427a1228dd01108f5748ce92516bf5b1">pulsar::TopicMetadata::getNumPartitions</a></div><div class="ttdeci">virtual int getNumPartitions() const =0</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_typed_message_8h_source.html b/static/api/cpp/4.2.x/_typed_message_8h_source.html
new file mode 100644
index 00000000000..1ba4036c44c
--- /dev/null
+++ b/static/api/cpp/4.2.x/_typed_message_8h_source.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/TypedMessage.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">TypedMessage.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_typed_message.html">   28</a></span><span class="keyword">class </span>TypedMessage : <span class="keyword">public</span> Message {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="keyword">using </span>Decoder = std::function&lt;T(<span class="keyword">const</span> <span class="keywordtype">char</span>*, std::size_t)&gt;;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    TypedMessage() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    TypedMessage(</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>        <span class="keyword">const</span> Message&amp; message, Decoder decoder = [](<span class="keyword">const</span> <span class="keywordtype">char</span>*, std::size_t) { <span class="keywordflow">return</span> T{}; })</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>        : Message(message), decoder_(decoder) {}</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    T getValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> decoder_(<span class="keyword">static_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(<a class="code hl_function" href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">getData</a>()), <a class="code hl_function" href="classp [...]
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    TypedMessage&amp; setDecoder(Decoder decoder) {</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>        decoder_ = decoder;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    }</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    Decoder decoder_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>};</div>
+</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_aa47d8ca71292939d4d15e4b543835234"><div class="ttname"><a href="classpulsar_1_1_message.html#aa47d8ca71292939d4d15e4b543835234">pulsar::Message::getLength</a></div><div class="ttdeci">std::size_t getLength() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ab485e3ff7dbefa8c0523ebaabef55d5d"><div class="ttname"><a href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">pulsar::Message::getData</a></div><div class="ttdeci">const void * getData() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/_typed_message_builder_8h_source.html b/static/api/cpp/4.2.x/_typed_message_builder_8h_source.html
new file mode 100644
index 00000000000..05a99379411
--- /dev/null
+++ b/static/api/cpp/4.2.x/_typed_message_builder_8h_source.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/TypedMessageBuilder.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">TypedMessageBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/MessageBuilder.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classpulsar_1_1_typed_message_builder.html">   28</a></span><span class="keyword">class </span>TypedMessageBuilder : <span class="keyword">public</span> MessageBuilder {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="keyword">using </span>Encoder = std::function&lt;std::string(<span class="keyword">const</span> T&amp;)&gt;;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    <span class="keyword">using </span>Validator = std::function&lt;void(<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">size_t</span>)&gt;;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    TypedMessageBuilder(</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>        Encoder encoder, Validator validator = [](<span class="keyword">const</span> <span class="keywordtype">char</span>*, std::size_t) {})</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>        : encoder_(encoder), validator_(validator) {}</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    TypedMessageBuilder&amp; setValue(<span class="keyword">const</span> T&amp; value) {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>        <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(encoder_(value));</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>        <span class="keywordflow">if</span> (validator_) {</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>            validator_(data(), size());</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>        }</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    }</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    <span class="keyword">const</span> Encoder encoder_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    <span class="keyword">const</span> Validator validator_;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>};</div>
+</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="keyword">template</span> &lt;&gt;</div>
+<div class="foldopen" id="foldopen00051" data-start="{" data-end="};">
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_typed_message_builder_3_01std_1_1string_01_4.html">   51</a></span><span class="keyword">class </span>TypedMessageBuilder&lt;std::string&gt; : <span class="keyword">public</span> MessageBuilder {</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    <span class="comment">// The validator should throw an exception to indicate the message is corrupted.</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>    <span class="keyword">using </span>Validator = std::function&lt;void(<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">size_t</span>)&gt;;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>    TypedMessageBuilder(Validator validator = <span class="keyword">nullptr</span>) : validator_(validator) {}</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>    TypedMessageBuilder&amp; setValue(<span class="keyword">const</span> std::string&amp; value) {</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>        <span class="keywordflow">if</span> (validator_) {</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>            validator_(value.data(), value.size());</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>        }</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>        <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(value);</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>    }</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>    TypedMessageBuilder&amp; setValue(std::string&amp;&amp; value) {</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>        <span class="keywordflow">if</span> (validator_) {</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>            validator_(value.data(), value.size());</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>        }</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>        <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(std::move(value));</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    }</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>    Validator validator_;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>};</div>
+</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="keyword">using </span>BytesMessageBuilder = <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder&lt;std::string&gt;</a>;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a2cc0fde4d3dcc2aae68e6e1588c8d364"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const void *data, size_t size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_typed_message_builder_html"><div class="ttname"><a href="classpulsar_1_1_typed_message_builder.html">pulsar::TypedMessageBuilder</a></div><div class="ttdef"><b>Definition</b> TypedMessageBuilder.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/annotated.html b/static/api/cpp/4.2.x/annotated.html
new file mode 100644
index 00000000000..f52509c0ea0
--- /dev/null
+++ b/static/api/cpp/4.2.x/annotated.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">Class List</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span><span onclick="javascript:dynsection.toggleLevel(3);">3</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="dynsection.toggleFolder('0_')"><span class="arrowhead opened"></span></span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacepulsar.html" target="_self">pulsar</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_authentication_data_provider.html" target="_self">AuthenticationDataProvider</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_authentication.html" target="_self">Authentication</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_factory.html" target="_self">AuthFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_tls.html" target="_self">AuthTls</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_token.html" target="_self">AuthToken</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_basic.html" target="_self">AuthBasic</a></td><td class="desc"></td></tr>
+<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_athenz.html" target="_self">AuthAthenz</a></td><td class="desc"></td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_oauth2_token_result.html" target="_self">Oauth2TokenResult</a></td><td class="desc"></td></tr>
+<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_oauth2_flow.html" target="_self">Oauth2Flow</a></td><td class="desc"></td></tr>
+<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_cached_token.html" target="_self">CachedToken</a></td><td class="desc"></td></tr>
+<tr id="row_0_10_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_oauth2.html" target="_self">AuthOauth2</a></td><td class="desc"></td></tr>
+<tr id="row_0_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_11_" class="arrow" onclick="dynsection.toggleFolder('0_11_')"><span class="arrowhead opened"></span></span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auto_cluster_failover.html" target="_self">AutoClusterFailover</a></td><td class="desc"></td></tr>
+<tr id="row_0_11_0_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar_1_1_auto_cluster_failover_1_1_config.html" target="_self">Config</a></td><td class="desc"></td></tr>
+<tr id="row_0_11_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auto_cluster_failover_1_1_builder.html" target="_self">Builder</a></td><td class="desc"></td></tr>
+<tr id="row_0_12_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_batch_receive_policy.html" target="_self">BatchReceivePolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_broker_consumer_stats.html" target="_self">BrokerConsumerStats</a></td><td class="desc"></td></tr>
+<tr id="row_0_14_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar_1_1_topic_regex.html" target="_self">TopicRegex</a></td><td class="desc"></td></tr>
+<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_client.html" target="_self">Client</a></td><td class="desc"></td></tr>
+<tr id="row_0_16_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_client_configuration.html" target="_self">ClientConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_console_logger_factory.html" target="_self">ConsoleLoggerFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_18_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer.html" target="_self">Consumer</a></td><td class="desc"></td></tr>
+<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer_configuration.html" target="_self">ConsumerConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_20_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer_event_listener.html" target="_self">ConsumerEventListener</a></td><td class="desc"></td></tr>
+<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer_interceptor.html" target="_self">ConsumerInterceptor</a></td><td class="desc"></td></tr>
+<tr id="row_0_22_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_crypto_key_reader.html" target="_self">CryptoKeyReader</a></td><td class="desc"></td></tr>
+<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_default_crypto_key_reader.html" target="_self">DefaultCryptoKeyReader</a></td><td class="desc"></td></tr>
+<tr id="row_0_24_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_dead_letter_policy.html" target="_self">DeadLetterPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_dead_letter_policy_builder.html" target="_self">DeadLetterPolicyBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_26_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_deprecated_exception.html" target="_self">DeprecatedException</a></td><td class="desc"></td></tr>
+<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar_1_1_encryption_key.html" target="_self">EncryptionKey</a></td><td class="desc"></td></tr>
+<tr id="row_0_28_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_encryption_context.html" target="_self">EncryptionContext</a></td><td class="desc"></td></tr>
+<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_encryption_key_info.html" target="_self">EncryptionKeyInfo</a></td><td class="desc"></td></tr>
+<tr id="row_0_30_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_file_logger_factory.html" target="_self">FileLoggerFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_key_shared_policy.html" target="_self">KeySharedPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_32_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_key_value.html" target="_self">KeyValue</a></td><td class="desc"></td></tr>
+<tr id="row_0_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_logger.html" target="_self">Logger</a></td><td class="desc"></td></tr>
+<tr id="row_0_34_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_logger_factory.html" target="_self">LoggerFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message.html" target="_self">Message</a></td><td class="desc"></td></tr>
+<tr id="row_0_36_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_batch.html" target="_self">MessageBatch</a></td><td class="desc"></td></tr>
+<tr id="row_0_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_builder.html" target="_self">MessageBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_38_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_id.html" target="_self">MessageId</a></td><td class="desc"></td></tr>
+<tr id="row_0_39_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_id_builder.html" target="_self">MessageIdBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_40_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_routing_policy.html" target="_self">MessageRoutingPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_41_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_producer.html" target="_self">Producer</a></td><td class="desc"></td></tr>
+<tr id="row_0_42_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_producer_configuration.html" target="_self">ProducerConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_43_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_producer_interceptor.html" target="_self">ProducerInterceptor</a></td><td class="desc"></td></tr>
+<tr id="row_0_44_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_reader.html" target="_self">Reader</a></td><td class="desc"></td></tr>
+<tr id="row_0_45_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_reader_configuration.html" target="_self">ReaderConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_46_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar_1_1_error.html" target="_self">Error</a></td><td class="desc"></td></tr>
+<tr id="row_0_47_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_schema_info.html" target="_self">SchemaInfo</a></td><td class="desc"></td></tr>
+<tr id="row_0_48_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_service_info.html" target="_self">ServiceInfo</a></td><td class="desc"></td></tr>
+<tr id="row_0_49_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_service_info_provider.html" target="_self">ServiceInfoProvider</a></td><td class="desc"></td></tr>
+<tr id="row_0_50_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_table_view.html" target="_self">TableView</a></td><td class="desc"></td></tr>
+<tr id="row_0_51_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar_1_1_table_view_configuration.html" target="_self">TableViewConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_52_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_topic_metadata.html" target="_self">TopicMetadata</a></td><td class="desc"></td></tr>
+<tr id="row_0_53_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_typed_message.html" target="_self">TypedMessage</a></td><td class="desc"></td></tr>
+<tr id="row_0_54_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_typed_message_builder.html" target="_self">TypedMessageBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_55_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_typed_message_builder_3_01std_1_1string_01_4.html" target="_self">TypedMessageBuilder&lt; std::string &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar__consumer__batch__receive__policy__t.html" target="_self">pulsar_consumer_batch_receive_policy_t</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar__consumer__config__dead__letter__policy__t.html" target="_self">pulsar_consumer_config_dead_letter_policy_t</a></td><td class="desc"></td></tr>
+<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar__logger__t.html" target="_self">pulsar_logger_t</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_authentication_8h_source.html b/static/api/cpp/4.2.x/c_2_authentication_8h_source.html
new file mode 100644
index 00000000000..d915196bd75
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_authentication_8h_source.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/authentication.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li><li class="navelem"><b>c</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">authentication.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_authentication pulsar_authentication_t;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">typedef</span> <span class="keywordtype">char</span> *(*token_supplier)(<span class="keywordtype">void</span> *);</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *dynamicLibPath,</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>                                                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *authParamsString);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_tls_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *certificatePath,</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>                                                                        <span class="keyword">const</span> <span class="keywordtype">char</span> *privateKeyPath);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_token_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *token);</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_token_create_with_supplier(</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    token_supplier tokenSupplier, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_basic_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *username,</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>                                                                          <span class="keyword">const</span> <span class="keywordtype">char</span> *password);</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_athenz_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *authParamsString);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_oauth2_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *authParamsString);</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_authentication_free(pulsar_authentication_t *authentication);</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>}</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_client_8h_source.html b/static/api/cpp/4.2.x/c_2_client_8h_source.html
new file mode 100644
index 00000000000..9e7a1c77543
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_client_8h_source.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/client.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li><li class="navelem"><b>c</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">client.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/c/client_configuration.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/c/consumer.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/c/consumer_configuration.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/c/message_id.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/c/producer.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/c/producer_configuration.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/c/reader.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;pulsar/c/reader_configuration.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;pulsar/c/string_list.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;pulsar/c/table_view.h&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#include &lt;pulsar/c/table_view_configuration.h&gt;</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_client pulsar_client_t;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_producer pulsar_producer_t;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_string_list pulsar_string_list_t;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_client_configuration pulsar_client_configuration_t;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_producer_configuration pulsar_producer_configuration_t;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="keyword">typedef</span> void (*pulsar_create_producer_callback)(pulsar_result result, pulsar_producer_t *producer, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="keyword">typedef</span> void (*pulsar_subscribe_callback)(pulsar_result result, pulsar_consumer_t *consumer, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">typedef</span> void (*pulsar_reader_callback)(pulsar_result result, pulsar_reader_t *reader, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="keyword">typedef</span> void (*pulsar_table_view_callback)(pulsar_result result, pulsar_table_view_t *tableView, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="keyword">typedef</span> void (*pulsar_get_partitions_callback)(pulsar_result result, pulsar_string_list_t *partitions,</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="keyword">typedef</span> void (*pulsar_close_callback)(pulsar_result result, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>PULSAR_PUBLIC pulsar_client_t *pulsar_client_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *serviceUrl,</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>                                                    <span class="keyword">const</span> pulsar_client_configuration_t *clientConfiguration);</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span></div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>PULSAR_PUBLIC pulsar_result pulsar_client_create_producer(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>                                                          <span class="keyword">const</span> pulsar_producer_configuration_t *conf,</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>                                                          pulsar_producer_t **producer);</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_create_producer_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>                                                       <span class="keyword">const</span> pulsar_producer_configuration_t *conf,</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>                                                       pulsar_create_producer_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>PULSAR_PUBLIC pulsar_result pulsar_client_subscribe(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>                                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>                                                    <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>                                                    pulsar_consumer_t **consumer);</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_subscribe_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>                                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>                                                 <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>                                                 pulsar_subscribe_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>PULSAR_PUBLIC pulsar_result pulsar_client_subscribe_multi_topics(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> **topics,</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>                                                                 <span class="keywordtype">int</span> topicsCount,</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>                                                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>                                                                 <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>                                                                 pulsar_consumer_t **consumer);</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_subscribe_multi_topics_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> **topics,</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>                                                              <span class="keywordtype">int</span> topicsCount, <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>                                                              <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>                                                              pulsar_subscribe_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span></div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>PULSAR_PUBLIC pulsar_result pulsar_client_subscribe_pattern(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topicPattern,</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>                                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>                                                            <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>                                                            pulsar_consumer_t **consumer);</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_subscribe_pattern_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topicPattern,</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>                                                         <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>                                                         <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>                                                         pulsar_subscribe_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span></div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>PULSAR_PUBLIC pulsar_result pulsar_client_create_reader(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>                                                        <span class="keyword">const</span> pulsar_message_id_t *startMessageId,</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>                                                        pulsar_reader_configuration_t *conf,</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>                                                        pulsar_reader_t **reader);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_create_reader_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>                                                     <span class="keyword">const</span> pulsar_message_id_t *startMessageId,</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>                                                     pulsar_reader_configuration_t *conf,</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>                                                     pulsar_reader_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>PULSAR_PUBLIC pulsar_result pulsar_client_create_table_view(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>                                                            pulsar_table_view_configuration_t *conf,</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>                                                            pulsar_table_view_t **c_tableView);</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span></div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_create_table_view_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>                                                         pulsar_table_view_configuration_t *conf,</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>                                                         pulsar_table_view_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>PULSAR_PUBLIC pulsar_result pulsar_client_get_topic_partitions(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>                                                               pulsar_string_list_t **partitions);</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_get_topic_partitions_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>                                                            pulsar_get_partitions_callback callback,</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>                                                            <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>PULSAR_PUBLIC pulsar_result pulsar_client_close(pulsar_client_t *client);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_close_async(pulsar_client_t *client, pulsar_close_callback callback,</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>                                             <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_free(pulsar_client_t *client);</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>}</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_consumer_8h_source.html b/static/api/cpp/4.2.x/c_2_consumer_8h_source.html
new file mode 100644
index 00000000000..0c34a28b82b
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_consumer_8h_source.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/consumer.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li><li class="navelem"><b>c</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">consumer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/c/messages.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_consumer pulsar_consumer_t;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> void (*pulsar_result_callback)(pulsar_result, <span class="keywordtype">void</span> *);</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="keyword">typedef</span> void (*pulsar_receive_callback)(pulsar_result result, pulsar_message_t *msg, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">typedef</span> void (*pulsar_batch_receive_callback)(pulsar_result result, pulsar_messages_t *msgs, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span></div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_consumer_get_topic(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_consumer_get_subscription_name(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_unsubscribe(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_unsubscribe_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>                                                     pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span></div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_receive(pulsar_consumer_t *consumer, pulsar_message_t **msg);</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_receive_with_timeout(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>                                                                 pulsar_message_t **msg, <span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_receive_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>                                                 pulsar_receive_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span></div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_batch_receive(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>                                                          pulsar_messages_t **msgs);</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span></div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_batch_receive_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>                                                       pulsar_batch_receive_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>                                                        pulsar_message_t *message);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>                                                           pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span></div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_async(pulsar_consumer_t *consumer, pulsar_message_t *message,</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>                                                     pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_async_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>                                                        pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>                                                        pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span></div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>                                                                   pulsar_message_t *message);</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>                                                                      pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_cumulative_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>                                                                pulsar_message_t *message,</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>                                                                pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_cumulative_async_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>                                                                   pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>                                                                   pulsar_result_callback callback,</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>                                                                   <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span></div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_negative_acknowledge(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>                                                        pulsar_message_t *message);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span></div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_negative_acknowledge_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>                                                           pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_close(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_close_async(pulsar_consumer_t *consumer, pulsar_result_callback callback,</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_free(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span><span class="comment"> * Pause receiving messages via the messageListener, till resumeMessageListener() is called.</span></div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_pause_message_listener(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span><span class="comment"> * Resume receiving the messages via the messageListener.</span></div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="comment"> * Asynchronously receive all the messages enqueued from time pauseMessageListener() was called.</span></div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>PULSAR_PUBLIC pulsar_result resume_message_listener(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span></div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_redeliver_unacknowledged_messages(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span></div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_seek_async(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>                                              pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span></div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_seek(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span></div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_seek_by_timestamp_async(pulsar_consumer_t *consumer, uint64_t timestamp,</div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>                                                           pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span></div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_seek_by_timestamp(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span>                                                              uint64_t timestamp);</div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_consumer_is_connected(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_get_last_message_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>                                                                pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>}</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_message_8h_source.html b/static/api/cpp/4.2.x/c_2_message_8h_source.html
new file mode 100644
index 00000000000..e91bab6e5d4
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_message_8h_source.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/message.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li><li class="navelem"><b>c</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">message.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &quot;string_map.h&quot;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_message pulsar_message_t;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_message_id pulsar_message_id_t;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>PULSAR_PUBLIC pulsar_message_t *pulsar_message_create();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_copy(<span class="keyword">const</span> pulsar_message_t *from, pulsar_message_t *to);</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_free(pulsar_message_t *message);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_content(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span></div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_allocated_content(pulsar_message_t *message, <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_property(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>                                               <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span></div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_partition_key(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *partitionKey);</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_ordering_key(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *orderingKey);</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span></div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_event_timestamp(pulsar_message_t *message, uint64_t eventTimestamp);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_sequence_id(pulsar_message_t *message, int64_t sequenceId);</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_deliver_after(pulsar_message_t *message, uint64_t delayMillis);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span></div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_deliver_at(pulsar_message_t *message, uint64_t deliveryTimestampMillis);</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_replication_clusters(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> **clusters,</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>                                                           <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_disable_replication(pulsar_message_t *message, <span class="keywordtype">int</span> flag);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span></div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_null_value(pulsar_message_t *message);</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span></div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span></div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>PULSAR_PUBLIC pulsar_string_map_t *pulsar_message_get_properties(pulsar_message_t *message);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span></div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_property(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span></div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_property(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span></div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">void</span> *pulsar_message_get_data(pulsar_message_t *message);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span></div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>PULSAR_PUBLIC uint32_t pulsar_message_get_length(pulsar_message_t *message);</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span></div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>PULSAR_PUBLIC pulsar_message_id_t *pulsar_message_get_message_id(pulsar_message_t *message);</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span></div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_partitionKey(pulsar_message_t *message);</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_partition_key(pulsar_message_t *message);</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span></div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_orderingKey(pulsar_message_t *message);</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_ordering_key(pulsar_message_t *message);</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span></div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>PULSAR_PUBLIC uint64_t pulsar_message_get_publish_timestamp(pulsar_message_t *message);</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span></div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>PULSAR_PUBLIC uint64_t pulsar_message_get_event_timestamp(pulsar_message_t *message);</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_topic_name(pulsar_message_t *message);</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_get_redelivery_count(pulsar_message_t *message);</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_schema_version(pulsar_message_t *message);</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_schemaVersion(pulsar_message_t *message);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_schema_version(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *schemaVersion);</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span></div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_producer_name(pulsar_message_t *message);</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span></div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_message_get_replicated_from(pulsar_message_t *message);</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_null_value(pulsar_message_t *message);</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>}</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_producer_8h_source.html b/static/api/cpp/4.2.x/c_2_producer_8h_source.html
new file mode 100644
index 00000000000..762c3be4486
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_producer_8h_source.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/producer.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li><li class="navelem"><b>c</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">producer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_producer pulsar_producer_t;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> void (*pulsar_send_callback)(pulsar_result, pulsar_message_id_t *msgId, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> void (*pulsar_close_callback)(pulsar_result, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">typedef</span> void (*pulsar_flush_callback)(pulsar_result, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_producer_get_topic(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_producer_get_producer_name(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>PULSAR_PUBLIC pulsar_result pulsar_producer_send(pulsar_producer_t *producer, pulsar_message_t *msg);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span></div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_send_async(pulsar_producer_t *producer, pulsar_message_t *msg,</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>                                              pulsar_send_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span></div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>PULSAR_PUBLIC int64_t pulsar_producer_get_last_sequence_id(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span></div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>PULSAR_PUBLIC pulsar_result pulsar_producer_close(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span></div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_close_async(pulsar_producer_t *producer, pulsar_close_callback callback,</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="comment">// Flush all the messages buffered in the client and wait until all messages have been successfully persisted.</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>PULSAR_PUBLIC pulsar_result pulsar_producer_flush(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_flush_async(pulsar_producer_t *producer, pulsar_flush_callback callback,</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_free(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_producer_is_connected(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>}</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_reader_8h_source.html b/static/api/cpp/4.2.x/c_2_reader_8h_source.html
new file mode 100644
index 00000000000..466154a6c91
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_reader_8h_source.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/reader.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.15.0 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+</script>
+<script type="text/javascript">
+$(function() { codefold.init(); });
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search',false);
+  $(function() { init_search(); });
+});
+</script>
+<div id="main-nav"></div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><b>include</b></li><li class="navelem"><b>pulsar</b></li><li class="navelem"><b>c</b></li>  </ul>
+</div>
+</div><!-- top -->
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle"><div class="title">reader.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span></div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_reader pulsar_reader_t;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">typedef</span> void (*pulsar_result_callback)(pulsar_result, <span class="keywordtype">void</span> *);</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_reader_get_topic(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span></div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>PULSAR_PUBLIC pulsar_result pulsar_reader_read_next(pulsar_reader_t *reader, pulsar_message_t **msg);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span></div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>PULSAR_PUBLIC pulsar_result pulsar_reader_read_next_with_timeout(pulsar_reader_t *reader,</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>                                                                 pulsar_message_t **msg, <span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span></div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_seek_async(pulsar_reader_t *reader, pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>                                            pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span></div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>PULSAR_PUBLIC pulsar_result pulsar_reader_seek(pulsar_reader_t *reader, pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_seek_by_timestamp_async(pulsar_reader_t *reader, uint64_t timestamp,</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>                                                         pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span></div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>PULSAR_PUBLIC pulsar_result pulsar_reader_seek_by_timestamp(pulsar_reader_t *reader, uint64_t timestamp);</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>PULSAR_PUBLIC pulsar_result pulsar_reader_close(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_close_async(pulsar_reader_t *reader, pulsar_result_callback callback,</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>                                             <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_free(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>PULSAR_PUBLIC pulsar_result pulsar_reader_has_message_available(pulsar_reader_t *reader, <span class="keywordtype">int</span> *available);</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_reader_is_connected(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>}</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.15.0
+</small></address>
+</div><!-- doc-content -->
+</body>
+</html>
diff --git a/static/api/cpp/4.2.x/c_2_result_8h_source.html b/static/api/cpp/4.2.x/c_2_result_8h_source.html
new file mode 100644
index 00000000000..aca52ec82a8
--- /dev/null
+++ b/static/api/cpp/4.2.x/c_2_result_8h_source.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.15.0"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: include/pulsar/c/result.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<script type="text/javascript" src="clipboard.js"></script>
+<script type="text/javascript" src="cookie.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">pulsar-client-cpp
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
... 44851 lines suppressed ...