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 <pulsar/Result.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></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 <functional></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <map></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <string></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <vector></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<AuthenticationDataProvider> AuthenticationDataPtr;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="keyword">typedef</span> std::shared_ptr<Authentication> AuthenticationPtr;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="keyword">typedef</span> std::map<std::string, std::string> 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& 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& 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& 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& pluginNameOrDynamicLibPath,</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">const</span> std::string& 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& pluginNameOrDynamicLibPath, ParamMap& 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<void*> 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&);</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& 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& 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& certificatePath, <span class="keyword">const</span> std::string& 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& 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<std::string()> 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&);</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& 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& 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& 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& 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& 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&);</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& 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& 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& username, <span class="keyword">const</span> std::string& 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& username, <span class="keyword">const</span> std::string& password,</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keyword">const</span> std::string& 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& 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&);</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& 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& 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& 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& <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">setAccessToken</a>(<span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">setIdToken</a>(<span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">setRefreshToken</a>(<span class="keyword">const</span> std::string& 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& <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& <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& <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& <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 "access_token"</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 "id_token"</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 "refresh_token"</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 "expires_in"</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<Oauth2TokenResult> 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<Oauth2Flow> 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<CachedToken> 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& 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& 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& 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& 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 &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 &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 &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 &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 &username, const std::string &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 &username, const std::string &password, const std::string &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 &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 &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 &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 &pluginNameOrDynamicLibPath, ParamMap &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 &pluginNameOrDynamicLibPath, const std::string &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 &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 &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 &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 &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 &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 &certificatePath, const std::string &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 &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 &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 &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 &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 &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 &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 &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 &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 & 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 & setRefreshToken(const std::string &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 & setIdToken(const std::string &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 & 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 & 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 & 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 & setAccessToken(const std::string &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 <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 <pulsar/ServiceInfoProvider.h></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 <chrono></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <cstdint></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <functional></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <vector></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<ServiceInfo> 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<ServiceInfo> 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<ServiceInfo> 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& 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& 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& 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>&& 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<<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<AutoClusterFailoverImpl> 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< void(ServiceInfo)> 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 <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 <pulsar/defines.h></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 <memory></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<BatchReceivePolicyImpl> 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 <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 <pulsar/ConsumerType.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/defines.h></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 <functional></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <iostream></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <memory></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<BrokerConsumerStatsImplBase> 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<BrokerConsumerStatsImplBase> 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<BrokerConsumerStatsImplBase> <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 &operator<<(std::ostream &os, <span class="keyword">const</span> BrokerConsumerStats &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<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)></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< BrokerConsumerStatsImplBase > 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 <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 <pulsar/ClientConfiguration.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/ConsoleLoggerFactory.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/Consumer.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/FileLoggerFactory.h></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <pulsar/Message.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <pulsar/MessageBuilder.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <pulsar/Producer.h></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <pulsar/Reader.h></span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include <pulsar/Schema.h></span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include <pulsar/ServiceInfo.h></span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include <pulsar/ServiceInfoProvider.h></span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include <pulsar/TableView.h></span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#include <pulsar/defines.h></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 <memory></span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include <string></span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#include <utility></span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include <variant></span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#include <vector></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<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>)> CreateProducerCallback;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keyword">typedef</span> std::function<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>)> SubscribeCallback;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keyword">typedef</span> std::function<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>)> ReaderCallback;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">typedef</span> std::function<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>)> TableViewCallback;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="keyword">typedef</span> std::function<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, <span class="keyword">const</span> std::vector<std::string>&)> GetPartitionsCallback;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">typedef</span> std::function<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>)> 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<void(std::variant<Error, Producer>)>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword">using </span>CreateConsumerV2Callback = std::function<void(std::variant<Error, Consumer>)>;</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<void(std::variant<Error, Reader>)>;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">using </span>TableViewV2Callback = std::function<void(std::variant<Error, TableView>)>;</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<std::string, std::vector<std::string>, <a class="code hl_struct" href="structpulsar_1_1_topic_regex.html">TopicRegex</a>>;</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& 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& serviceUrl, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>& 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<ServiceInfoProvider> 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>& 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& 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">"use createProducerV2"</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>& 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>& 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">"use createProducerAsyncV2"</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& topic, <span class="keyword">const</span> CreateProducerCallback& 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">"use createProducerAsyncV2"</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& topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>& conf, <span class="keyword">const</span> CreateProducerCallback& 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& topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>& 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<Error, Producer> createProducerV2(<span class="keyword">const</span> std::string& 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>& 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& 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& 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>& conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>& 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& topic, <span class="keyword">const</span> std::string& subscriptionName,</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">const</span> SubscribeCallback& 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& topic, <span class="keyword">const</span> std::string& 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>& conf, <span class="keyword">const</span> SubscribeCallback& 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& topics, <span class="keyword">const</span> std::string& 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>& 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<Error, Consumer> subscribeV2(<span class="keyword">const</span> SubscribeTopics& topics,</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> std::string& 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>& 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<std::string>& 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>& 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<std::string>& 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>& conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>& 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<std::string>& topics, <span class="keyword">const</span> std::string& subscriptionName,</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">const</span> SubscribeCallback& 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<std::string>& topics, <span class="keyword">const</span> std::string& 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>& conf, <span class="keyword">const</span> SubscribeCallback& 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& 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>& 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& 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>& conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>& 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& regexPattern, <span class="keyword">const</span> std::string& subscriptionName,</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keyword">const</span> SubscribeCallback& 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& regexPattern, <span class="keyword">const</span> std::string& 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>& conf, <span class="keyword">const</span> SubscribeCallback& 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& 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>& conf, <a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a>& 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& 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>& conf, <span class="keyword">const</span> ReaderCallback& 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& topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>& 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>& 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<Error, Reader> createReaderV2(<span class="keyword">const</span> std::string& topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>& 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>& 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& 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>& 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& 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& 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& topic, <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a>& 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<Error, TableView> createTableViewV2(<span class="keyword">const</span> std::string& 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>& 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& topic, std::vector<std::string> [...]
+<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& topic, <span class="keyword">const</span> GetPartitionsCallback& 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& 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& topic, int64_t version,</div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> std::function<<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>&)> 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<ClientImpl>&);</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<ClientImpl> 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< ServiceInfoProvider > serviceInfoProvider, const ClientConfiguration &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 &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 &regexPattern, const std::string &subscriptionName, Consumer &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 &topic, const std::string &subscriptionName, const ConsumerConfiguration &conf, const SubscribeCallback &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 &regexPattern, const std::string &subscriptionName, const ConsumerConfiguration &conf, Consumer &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 &topic, const std::string &subscriptionName, const ConsumerConfiguration &conf, Consumer &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 &serviceUrl, const ClientConfiguration &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 &topic, std::vector< std::string > &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 &topic, const std::string &subscriptionName, const SubscribeCallback &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< std::string > &topics, const std::string &subscriptionName, const SubscribeCallback &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 &regexPattern, const std::string &subscriptionName, const SubscribeCallback &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 &topic, const MessageId &startMessageId, const ReaderConfiguration &conf, const ReaderCallback &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 &topic, const ProducerConfiguration &conf, const CreateProducerCallback &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 &topic, const CreateProducerCallback &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< std::string > &topics, const std::string &subscriptionName, const ConsumerConfiguration &conf, Consumer &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 &topic, Producer &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 &topic, const std::string &subscriptionName, Consumer &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 &topic, int64_t version, std::function< void(Result, const SchemaInfo &)> 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< std::string > &topics, const std::string &subscriptionName, const ConsumerConfiguration &conf, const SubscribeCallback &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 &topic, const ProducerConfiguration &conf, Producer &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 &topic, const TableViewConfiguration &conf, TableView &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 &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 &regexPattern, const std::string &subscriptionName, const ConsumerConfiguration &conf, const SubscribeCallback &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 &topic, const TableViewConfiguration &conf, const TableViewCallback &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 &topic, const MessageId &startMessageId, const ReaderConfiguration &conf, Reader &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< std::string > &topics, const std::string &subscriptionName, Consumer &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 &topic, const GetPartitionsCallback &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 <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 <pulsar/Authentication.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/Logger.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/defines.h></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 <cstdint></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&);</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> ClientConfiguration& operator=(<span class="keyword">const</span> ClientConfiguration&);</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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">setAuth</a>(<span class="keyword">const</span> AuthenticationPtr& 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& <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& <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& <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& <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& <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& <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& <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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">setTlsPrivateKeyFilePath</a>(<span class="keyword">const</span> std::string& 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& <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& <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">setTlsCertificateFilePath</a>(<span class="keyword">const</span> std::string& 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& <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& <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">setTlsTrustCertsFilePath</a>(<span class="keyword">const</span> std::string& 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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">setListenerName</a>(<span class="keyword">const</span> std::string& 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& <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& <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>&);</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>& <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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9205dfdb1cb7c0ffe76f2fc2a31f50de">setProxyServiceUrl</a>(<span class="keyword">const</span> std::string& 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& 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& <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& <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& getAuthPtr() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> std::shared_ptr<ClientConfigurationImpl> 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 "Pulsar-CPP-v<x.y.z>" 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'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 '-' 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 "forked", 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 "Pulsar-CPP-v3.2.0-forked".</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("forked");</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{"pulsar://localhost:6650", 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& setDescription(<span class="keyword">const</span> std::string& 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& 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 & setStatsIntervalInSeconds(const unsigned int &)</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 & 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 & 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 & setAuth(const AuthenticationPtr &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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & setTlsTrustCertsFilePath(const std::string &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 & 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 & 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 & setTlsCertificateFilePath(const std::string &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 & setProxyServiceUrl(const std::string &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 & 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 & setTlsPrivateKeyFilePath(const std::string &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 & 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 & 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 & 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 & 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 & 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 & 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 & setListenerName(const std::string &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 & 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 & 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 & 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 <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 <cstdint></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 <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 <pulsar/Logger.h></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 <memory></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& 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<ConsoleLoggerFactoryImpl> 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 &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 <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 <pulsar/BrokerConsumerStats.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/ConsumerConfiguration.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/TypedMessage.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/defines.h></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 <iostream></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<ConsumerImplBase> 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& <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& <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& <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>& 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>& 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> <<span class="keyword">typename</span> T></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<T></a>& msg, <span class="keyword">typename</span> TypedMessage<T>::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<T></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>& 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> <<span class="keyword">typename</span> T></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<T></a>& 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<T></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& 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> <<span class="keyword">typename</span> T></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<<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<T>::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>& 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<T></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& 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& 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>& 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>& 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& 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>& 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>& 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>& 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>& 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>& 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& 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>& 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& 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>& 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 &message, const ResultCallback &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 &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 &messageId, const ResultCallback &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 &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 &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 &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 &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 &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 &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 &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 &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 &messageId, const ResultCallback &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 &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 &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 &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 &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 & 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 &message, const ResultCallback &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 &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 &messageId, const ResultCallback &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 &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 &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 &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 & 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 &messageIdList, const ResultCallback &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 &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 & 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 &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 &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< Message > 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< void(Result result)> 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 <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 <pulsar/ConsumerCryptoFailureAction.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/ConsumerEventListener.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/ConsumerInterceptor.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/ConsumerType.h></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <pulsar/CryptoKeyReader.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <pulsar/InitialPosition.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <pulsar/KeySharedPolicy.h></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <pulsar/Message.h></span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <pulsar/RegexSubscriptionMode.h></span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include <pulsar/Schema.h></span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include <pulsar/TypedMessage.h></span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include <pulsar/defines.h></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 <functional></span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include <memory></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 "BatchReceivePolicy.h"</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#include "DeadLetterPolicy.h"</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<Message> <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<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result)> <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<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>& msg)> ReceiveCallback;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword">typedef</span> std::function<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>& msgs)> BatchReceiveCallback;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keyword">typedef</span> std::function<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)> 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<void(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>& consumer, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>& msg)> <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<ConsumerEventListener> 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&);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> ConsumerConfiguration& operator=(<span class="keyword">const</span> ConsumerConfiguration&);</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& <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>& 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>& <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& <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& <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>& 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& <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> <<span class="keyword">typename</span> T></div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> ConsumerConfiguration& setTypedMessageListener(</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> std::function<<span class="keywordtype">void</span>(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage<T></a>&)> listener,</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">typename</span> TypedMessage<T>::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>& consumer, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>& 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<T></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& <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& 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& <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& <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& <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& <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>& <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>& <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& 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& <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">getProperty</a>(<span class="keyword">const</span> std::string& 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<std::string, std::string>& <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& <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">setProperty</a>(<span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">setProperties</a>(<span class="keyword">const</span> std::map<std::string, std::string>& 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<std::string, std::string>& <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& <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<std::string, std::string>& 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& <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& <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& <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& <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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">intercept</a>(<span class="keyword">const</span> std::vector<ConsumerInterceptorPtr>& 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<ConsumerInterceptorPtr>& 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& <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& <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<ConsumerConfigurationImpl> 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 & setProperties(const std::map< std::string, std::string > &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 & 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 & 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 & 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 & intercept(const std::vector< ConsumerInterceptorPtr > &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 & 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 & 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 & 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 & 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 &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< std::string, std::string > & 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 & 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 & setSchema(const SchemaInfo &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 &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 &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 & getProperty(const std::string &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 & 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 & 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 &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 & 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 & 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< std::string, std::string > & 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 & 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 & 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 & setKeySharedPolicy(const KeySharedPolicy &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 & setProperty(const std::string &name, const std::string &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 & 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 & 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 & setSubscriptionProperties(const std::map< std::string, std::string > &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 & 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 & 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< void(Consumer &consumer, const Message &msg)> 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< Message > 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< void(Result result)> 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 <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's the application'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 <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 <pulsar/defines.h></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 <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 <pulsar/Message.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/defines.h></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 <set></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>& 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<ConsumerInterceptor> 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 &consumer, const Message &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 &consumer, const std::set< MessageId > &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 &consumer, Result result, const MessageId &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 &consumer, Result result, const MessageId &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 <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 <cstdint></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 <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 <pulsar/EncryptionKeyInfo.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/defines.h></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>& 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>& 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<CryptoKeyReader> 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& fileName, std::string& 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& publicKeyPath, <span class="keyword">const</span> std::string& 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& 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>& 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& 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>& 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& publicKeyPath, <span class="keyword">const</span> std::string& 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 &keyName, std::map< std::string, std::string > &metadata, EncryptionKeyInfo &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 &keyName, std::map< std::string, std::string > &metadata, EncryptionKeyInfo &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 &keyName, std::map< std::string, std::string > &metadata, EncryptionKeyInfo &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 &keyName, std::map< std::string, std::string > &metadata, EncryptionKeyInfo &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 &publicKeyPath, const std::string &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 <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 <pulsar/defines.h></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 <memory></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <string></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& <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& <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<DeadLetterPolicyImpl> 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& 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 & 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 & 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 <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 <pulsar/DeadLetterPolicy.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></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 <memory></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& <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#a60326f125a4d44099a6eab0d5a64aa22">deadLetterTopic</a>(<span class="keyword">const</span> std::string& <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& <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& <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#ac2c21735aeb67ffc97ed49351b1de4b0">initialSubscriptionName</a>(<span class="keyword">const</span> std::string& <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<DeadLetterPolicyImpl> 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 & deadLetterTopic(const std::string &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 & initialSubscriptionName(const std::string &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 & 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 <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 <pulsar/defines.h></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 <stdexcept></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <string></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& __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 <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 <cstdint></span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include <string></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <unordered_map></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <vector></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 "CompressionType.h"</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include "defines.h"</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<std::string, std::string> 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& key, <span class="keyword">const</span> std::string& 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)& 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<EncryptionKey>;</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& <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& <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& <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&, <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 & 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 & 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 & 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 &, 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 <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 <pulsar/defines.h></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 <iostream></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <map></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <memory></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<EncryptionKeyInfoImpl> 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<std::string, std::string> 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& 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& <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& 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& <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& 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&);</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 & 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 &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 & 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 &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 &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 <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 <pulsar/Logger.h></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 <memory></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& 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& 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<FileLoggerFactoryImpl> 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 &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 &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 <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 <cstdint></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 <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 <pulsar/defines.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 <cstdint></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <utility></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <vector></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<int, int> StickyRange;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">typedef</span> std::vector<StickyRange> 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&);</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> KeySharedPolicy& operator=(<span class="keyword">const</span> KeySharedPolicy&);</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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">setStickyRanges</a>(std::initializer_list<StickyRange> 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& <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">setStickyRanges</a>(<span class="keyword">const</span> StickyRanges& 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<KeySharedPolicyImpl> 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 & 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 & 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 & setStickyRanges(const StickyRanges &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 & setStickyRanges(std::initializer_list< StickyRange > 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 <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 <memory></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <string></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 "Schema.h"</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include "defines.h"</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 &&key, std::string &&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<KeyValueImpl> 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 &&key, std::string &&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 <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 <pulsar/defines.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 <cstdint></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <string></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& 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& 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 &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 &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 <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 <pulsar/EncryptionContext.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></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 <map></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <optional></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <string></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 "KeyValue.h"</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include "MessageId.h"</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<std::string, std::string> 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& <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& 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& <a class="code hl_function" href="classpulsar_1_1_message.html#a69b6576136ccce73f448e2dbaad8d357">getProperty</a>(<span class="keyword">const</span> std::string& 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) && !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& <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>& <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>& 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& <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& <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& <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& <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& 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& <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<const std::<span class="keywordtype">string</span>*> <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<const <a class="code hl_class" href="classpulsar_1_1_encryption_context.html">EncryptionContext</a>*> <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& 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<MessageImpl> 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& 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>& messageId, proto::BrokerEntryMetadata& brokerEntryMetadata,</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> proto::MessageMetadata& metadata, SharedBuffer& 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>& messageId, proto::BrokerEntryMetadata& brokerEntryMetadata,</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> proto::MessageMetadata& metadata, SharedBuffer& payload,</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> proto::SingleMessageMetadata& singleMetadata, const std::shared_ptr<std::<span class="keywordtype">string</span>>& 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& operator<<(std::ostream& s, const StringMap& map);</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> friend PULSAR_PUBLIC std::ostream& operator<<(std::ostream& s, const Message& 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 & 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 &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 &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< const std::string * > 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< const EncryptionContext * > 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 & getProperty(const std::string &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 & 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 & 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 & 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 &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 & 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 & 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 & 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 <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 <pulsar/Message.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></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 <vector></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& withMessageId(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>& 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& parseFrom(<span class="keyword">const</span> std::string& 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& parseFrom(<span class="keyword">const</span> SharedBuffer& 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<Message>& 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<MessageImpl> 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<Message> 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 <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 <pulsar/KeyValue.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/Message.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/defines.h></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 <chrono></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <string></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <vector></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<std::string, std::string> 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& <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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#aeae2c95b0639f36fe80c0ce5256cae16">setContent</a>(<span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">setContent</a>(std::string&& 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& <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>& 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& <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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#ae59904777c9565d762e4d3230d090ab7">setProperty</a>(<span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a90ce43fad4ea63704569ff2a60d02599">setProperties</a>(<span class="keyword">const</span> StringMap& 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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">setPartitionKey</a>(<span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">setOrderingKey</a>(<span class="keyword">const</span> std::string& 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& <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& <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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">setReplicationClusters</a>(<span class="keyword">const</span> std::vector<std::string>& 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& <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& <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& <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<MessageImpl> 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 & 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 & setPartitionKey(const std::string &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 & 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 & 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 & 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 & 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 & setOrderingKey(const std::string &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 & setContent(const KeyValue &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 & setContent(std::string &&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 & setProperties(const StringMap &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 & 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 & 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 & 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 & setReplicationClusters(const std::vector< std::string > &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 & setProperty(const std::string &name, const std::string &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 & setContent(const std::string &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 & 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 <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 <pulsar/defines.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <stdint.h></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 <iosfwd></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <string></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <vector></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& operator=(<span class="keyword">const</span> MessageId&);</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& <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& <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& 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& <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& 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& 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<(<span class="keyword">const</span> MessageId& 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<=(<span class="keyword">const</span> MessageId& 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>(<span class="keyword">const</span> MessageId& 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>=(<span class="keyword">const</span> MessageId& 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& 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& 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<std::string>& 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& operator<<(std::ostream& s, <span class="keyword">const</span> MessageId& 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<MessageIdImpl> 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& 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<MessageId> 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 &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 & 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 &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 & 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 &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 & 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 <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 <pulsar/MessageId.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 <memory></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>& 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& 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& <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& <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& <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& <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& <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<MessageIdImpl> 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 & 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 & 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 & 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 &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 &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 & 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 & 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 <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 <pulsar/DeprecatedException.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/Message.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/TopicMetadata.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/defines.h></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 <memory></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">"Use int getPartition(const Message& msg,"</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="stringliteral">" const TopicMetadata& topicMetadata)"</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<MessageRoutingPolicy> 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 &msg, const TopicMetadata &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 &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 <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 <pulsar/ProducerConfiguration.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <stdint.h></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 <memory></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<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>)> FlushCallback;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">typedef</span> std::shared_ptr<ProducerImplBase> 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& <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& <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>& 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& 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& <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& 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&);</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 & 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 &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 &msg, MessageId &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 &msg, const SendCallback &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 &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 & 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 & 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 &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 <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 <pulsar/CompressionType.h></span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include <pulsar/CryptoKeyReader.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/Message.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/MessageRoutingPolicy.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/ProducerCryptoFailureAction.h></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <pulsar/ProducerInterceptor.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <pulsar/Schema.h></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <pulsar/defines.h></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 <cstdint></span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include <functional></span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include <set></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<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>& messageId)> SendCallback;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keyword">typedef</span> std::function<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>)> 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>&);</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>& operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&);</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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">setProducerName</a>(<span class="keyword">const</span> std::string& 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& <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& <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>& 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>& <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& <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& <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& <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& <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& <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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">setPartitionsRoutingMode</a>(<span class="keyword">const</span> PartitionsRoutingMode& 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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">setMessageRouter</a>(<span class="keyword">const</span> MessageRoutingPolicyPtr& 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& <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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">setHashingScheme</a>(<span class="keyword">const</span> HashingScheme& 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& <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& <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& <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>& 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>& <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& <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>& 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>& <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& <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>& 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>& <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& <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>& 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>& <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& <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& <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& <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<std::string>& <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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#aea7c7716b8d8e14b0e6a3b4b8ea1b2f0">addEncryptionKey</a>(<span class="keyword">const</span> std::string& 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& 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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">getProperty</a>(<span class="keyword">const</span> std::string& 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<std::string, std::string>& <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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">setProperty</a>(<span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">setProperties</a>(<span class="keyword">const</span> std::map<std::string, std::string>& 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& <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& <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& intercept(<span class="keyword">const</span> std::vector<ProducerInterceptorPtr>& 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<ProducerInterceptorPtr>& 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<ProducerConfigurationImpl> 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 & getProperty(const std::string &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 & 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 & setBatchingMaxMessages(const unsigned int &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 & 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 & setAccessMode(const ProducerAccessMode &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 & 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 & setBatchingMaxPublishDelayMs(const unsigned long &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 & 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< std::string, std::string > & 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 & setProperties(const std::map< std::string, std::string > &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 & 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 & setHashingScheme(const HashingScheme &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< std::string > & 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 & setPartitionsRoutingMode(const PartitionsRoutingMode &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 & 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 & 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 &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 & 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 & setProducerName(const std::string &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 & 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 & setProperty(const std::string &name, const std::string &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 & setBatchingMaxAllowedSizeInBytes(const unsigned long &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 & 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 & setMessageRouter(const MessageRoutingPolicyPtr &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 & 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 & 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 & 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 & 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 & 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 & 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 & addEncryptionKey(const std::string &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 & 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 & 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 & setSchema(const SchemaInfo &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 & setBatchingEnabled(const bool &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 <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 <cstdint></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 <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 <pulsar/Message.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/defines.h></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>& 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& 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<ProducerInterceptor> 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 &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 &producer, Result result, const Message &message, const MessageId &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 &producer, const Message &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 <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 <google/protobuf/descriptor.h></span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include <pulsar/Schema.h></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 <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 <pulsar/Message.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/ReaderConfiguration.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/defines.h></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<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, <span class="keywordtype">bool</span> hasMessageAvailable)> HasMessageAvailableCallback;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="keyword">typedef</span> std::function<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>& message)> 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& <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>& 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>& 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& 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>& 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& 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>& <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>& 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>& [...]
+<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& 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>& 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<ReaderImpl> 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&);</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 &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 & 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 &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 &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 &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 &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 &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 &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 &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 &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 &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 &msgId, const ResultCallback &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< void(Result result)> 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 <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 <pulsar/ConsumerCryptoFailureAction.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/CryptoKeyReader.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/Message.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/Result.h></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <pulsar/Schema.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <pulsar/defines.h></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 <functional></span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <memory></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<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result)> <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<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)> 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<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>& msg)> <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&);</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> ReaderConfiguration& operator=(<span class="keyword">const</span> ReaderConfiguration&);</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& <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>& 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>& <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& <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& 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& <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& 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& <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& <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& <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& <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& <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& 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& <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">getProperty</a>(<span class="keyword">const</span> std::string& 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<std::string, std::string>& <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& <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">setProperty</a>(<span class="keyword">const</span> std::string& name, <span class="keyword">const</span> std::string& 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& <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a12a43dd43372fb0b173002597bfdb2e3">setProperties</a>(<span class="keyword">const</span> std::map<std::string, std::string>& 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<ReaderConfigurationImpl> 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 &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 & setProperties(const std::map< std::string, std::string > &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 &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 & 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 & 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 & 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 &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 & setProperty(const std::string &name, const std::string &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 & 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< std::string, std::string > & 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 & getProperty(const std::string &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 & 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 & setSchema(const SchemaInfo &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 & 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 & 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 & 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< void(Reader reader, const Message &msg)> 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< void(Result result)> 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 <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 <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 <pulsar/defines.h></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 <cstdint></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <iosfwd></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <ostream></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <string></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& operator<<(std::ostream& 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& operator<<(std::ostream& os, <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_error.html">Error</a>& error) {</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> os << 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 << <span class="stringliteral">" "</span> << 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'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'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 <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 <pulsar/defines.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 <cstdint></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <iosfwd></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <map></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <memory></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <string></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 &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 &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<std::string, std::string> 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 &name, <span class="ke [...]
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">const</span> StringMap &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> &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> &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 &<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 &<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 &<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<SchemaInfoImpl> 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 &operator<<(std::ostream &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 &operator<<(std::ostream &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 & 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 &name, const std::string &schema, const StringMap &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 &keySchema, const SchemaInfo &valueSchema, const KeyValueEncodingType &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 & 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 & 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 <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 <pulsar/Authentication.h></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 <optional></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <string></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<std::string> 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>& 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>& 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>& 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& 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_ && useTls_ == other.useTls_ &&</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> authentication_ == other.authentication_ &&</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<std::string> 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 <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 <pulsar/ServiceInfo.h></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 <functional></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<<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< void(ServiceInfo)> 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 <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 <pulsar/Result.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/TableViewConfiguration.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/defines.h></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 <functional></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <unordered_map></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<void(<a class="code hl_enumeration" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result)> <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<void(<span class="keyword">const</span> std::string& key, <span class="keyword">const</span> std::string& value)> 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& key, std::string& 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& key, std::string& 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& 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<std::string, std::string> <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& 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& 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>& 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<TableViewImpl> 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 &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 &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< std::string, std::string > 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 &key, std::string &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 &key, std::string &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 &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 &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< void(Result result)> 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 <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 <pulsar/Schema.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></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'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 <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 <pulsar/defines.h></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 <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 <pulsar/Message.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 <functional></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> <<span class="keyword">typename</span> T></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<T(<span class="keyword">const</span> <span class="keywordtype">char</span>*, std::size_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> 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& 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<</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">></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& 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 <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 <pulsar/MessageBuilder.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 <functional></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> <<span class="keyword">typename</span> T></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<std::string(<span class="keyword">const</span> T&)>;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">using </span>Validator = std::function<void(<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">size_t</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> 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& setValue(<span class="keyword">const</span> T& 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> <></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<std::string> : <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<void(<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">size_t</span>)>;</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& setValue(<span class="keyword">const</span> std::string& 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& setValue(std::string&& 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<std::string></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 & 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 <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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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< std::string ></a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </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;"> </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;"> </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 <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 <pulsar/defines.h></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">"C"</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 <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 <pulsar/c/client_configuration.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/c/consumer.h></span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include <pulsar/c/consumer_configuration.h></span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include <pulsar/c/message.h></span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include <pulsar/c/message_id.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <pulsar/c/producer.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <pulsar/c/producer_configuration.h></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <pulsar/c/reader.h></span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <pulsar/c/reader_configuration.h></span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include <pulsar/c/result.h></span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include <pulsar/c/string_list.h></span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include <pulsar/c/table_view.h></span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include <pulsar/c/table_view_configuration.h></span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#include <pulsar/defines.h></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">"C"</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 <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 <pulsar/defines.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">#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">"C"</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 <pulsar/c/message.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <pulsar/c/messages.h></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <pulsar/c/result.h></span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include <stdint.h></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 <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">"C"</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 <pulsar/defines.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <stddef.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <stdint.h></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 "string_map.h"</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 <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">"C"</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 <pulsar/c/message.h></span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include <pulsar/c/result.h></span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include <pulsar/defines.h></span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include <stdint.h></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 <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 <pulsar/c/message.h></span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include <pulsar/c/result.h></span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include <pulsar/defines.h></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">"C"</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 <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 ...