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 2023/08/07 06:44:09 UTC

[pulsar-site] 01/01: Generate C++ client 3.3.0 doc

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

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

commit d4aeb37ce0c57c09fc5a3d240924251fc3d2fc22
Author: Yunze Xu <xy...@163.com>
AuthorDate: Mon Aug 7 14:43:47 2023 +0800

    Generate C++ client 3.3.0 doc
---
 .../api/cpp/3.3.x/_authentication_8h_source.html   |  408 ++++
 .../cpp/3.3.x/_batch_receive_policy_8h_source.html |  123 ++
 .../3.3.x/_broker_consumer_stats_8h_source.html    |  167 ++
 static/api/cpp/3.3.x/_client_8h_source.html        |  252 +++
 .../cpp/3.3.x/_client_configuration_8h_source.html |  271 +++
 .../api/cpp/3.3.x/_compression_type_8h_source.html |  103 +
 .../3.3.x/_console_logger_factory_8h_source.html   |  113 ++
 static/api/cpp/3.3.x/_consumer_8h_source.html      |  260 +++
 .../3.3.x/_consumer_configuration_8h_source.html   |  389 ++++
 .../_consumer_crypto_failure_action_8h_source.html |  106 +
 .../3.3.x/_consumer_event_listener_8h_source.html  |  110 ++
 .../cpp/3.3.x/_consumer_interceptor_8h_source.html |  130 ++
 static/api/cpp/3.3.x/_consumer_type_8h_source.html |  110 ++
 .../cpp/3.3.x/_crypto_key_reader_8h_source.html    |  142 ++
 .../cpp/3.3.x/_dead_letter_policy_8h_source.html   |  126 ++
 .../_dead_letter_policy_builder_8h_source.html     |  124 ++
 .../cpp/3.3.x/_deprecated_exception_8h_source.html |  108 ++
 .../cpp/3.3.x/_encryption_key_info_8h_source.html  |  142 ++
 .../cpp/3.3.x/_file_logger_factory_8h_source.html  |  114 ++
 .../api/cpp/3.3.x/_initial_position_8h_source.html |  100 +
 .../cpp/3.3.x/_key_shared_policy_8h_source.html    |  151 ++
 static/api/cpp/3.3.x/_key_value_8h_source.html     |  131 ++
 static/api/cpp/3.3.x/_logger_8h_source.html        |  127 ++
 static/api/cpp/3.3.x/_message_8h_source.html       |  223 +++
 static/api/cpp/3.3.x/_message_batch_8h_source.html |  121 ++
 .../api/cpp/3.3.x/_message_builder_8h_source.html  |  176 ++
 static/api/cpp/3.3.x/_message_id_8h_source.html    |  176 ++
 .../cpp/3.3.x/_message_id_builder_8h_source.html   |  135 ++
 .../3.3.x/_message_routing_policy_8h_source.html   |  129 ++
 static/api/cpp/3.3.x/_producer_8h_source.html      |  166 ++
 .../3.3.x/_producer_configuration_8h_source.html   |  319 ++++
 .../_producer_crypto_failure_action_8h_source.html |  102 +
 .../cpp/3.3.x/_producer_interceptor_8h_source.html |  126 ++
 .../3.3.x/_protobuf_native_schema_8h_source.html   |  100 +
 static/api/cpp/3.3.x/_reader_8h_source.html        |  172 ++
 .../cpp/3.3.x/_reader_configuration_8h_source.html |  237 +++
 .../3.3.x/_regex_subscription_mode_8h_source.html  |  107 ++
 static/api/cpp/3.3.x/_result_8h_source.html        |  216 +++
 static/api/cpp/3.3.x/_schema_8h_source.html        |  211 ++
 static/api/cpp/3.3.x/_table_view_8h_source.html    |  150 ++
 .../3.3.x/_table_view_configuration_8h_source.html |  108 ++
 .../api/cpp/3.3.x/_topic_metadata_8h_source.html   |  105 +
 static/api/cpp/3.3.x/_typed_message_8h_source.html |  123 ++
 .../3.3.x/_typed_message_builder_8h_source.html    |  153 ++
 static/api/cpp/3.3.x/annotated.html                |  139 ++
 static/api/cpp/3.3.x/bc_s.png                      |  Bin 0 -> 676 bytes
 static/api/cpp/3.3.x/bc_sd.png                     |  Bin 0 -> 635 bytes
 .../cpp/3.3.x/c_2_authentication_8h_source.html    |  121 ++
 static/api/cpp/3.3.x/c_2_client_8h_source.html     |  201 ++
 static/api/cpp/3.3.x/c_2_consumer_8h_source.html   |  204 ++
 static/api/cpp/3.3.x/c_2_message_8h_source.html    |  167 ++
 static/api/cpp/3.3.x/c_2_producer_8h_source.html   |  133 ++
 static/api/cpp/3.3.x/c_2_reader_8h_source.html     |  132 ++
 static/api/cpp/3.3.x/c_2_result_8h_source.html     |  162 ++
 static/api/cpp/3.3.x/classes.html                  |  127 ++
 .../3.3.x/classpulsar_1_1_auth_athenz-members.html |   99 +
 .../api/cpp/3.3.x/classpulsar_1_1_auth_athenz.html |  266 +++
 .../api/cpp/3.3.x/classpulsar_1_1_auth_athenz.png  |  Bin 0 -> 596 bytes
 .../3.3.x/classpulsar_1_1_auth_basic-members.html  |  101 +
 .../api/cpp/3.3.x/classpulsar_1_1_auth_basic.html  |  348 ++++
 .../api/cpp/3.3.x/classpulsar_1_1_auth_basic.png   |  Bin 0 -> 586 bytes
 .../classpulsar_1_1_auth_factory-members.html      |   96 +
 .../cpp/3.3.x/classpulsar_1_1_auth_factory.html    |  246 +++
 .../3.3.x/classpulsar_1_1_auth_oauth2-members.html |   99 +
 .../api/cpp/3.3.x/classpulsar_1_1_auth_oauth2.html |  271 +++
 .../api/cpp/3.3.x/classpulsar_1_1_auth_oauth2.png  |  Bin 0 -> 592 bytes
 .../3.3.x/classpulsar_1_1_auth_tls-members.html    |  100 +
 static/api/cpp/3.3.x/classpulsar_1_1_auth_tls.html |  305 +++
 static/api/cpp/3.3.x/classpulsar_1_1_auth_tls.png  |  Bin 0 -> 568 bytes
 .../3.3.x/classpulsar_1_1_auth_token-members.html  |  101 +
 .../api/cpp/3.3.x/classpulsar_1_1_auth_token.html  |  338 ++++
 .../api/cpp/3.3.x/classpulsar_1_1_auth_token.png   |  Bin 0 -> 585 bytes
 .../classpulsar_1_1_authentication-members.html    |   96 +
 .../cpp/3.3.x/classpulsar_1_1_authentication.html  |  234 +++
 .../cpp/3.3.x/classpulsar_1_1_authentication.png   |  Bin 0 -> 1479 bytes
 ...r_1_1_authentication_data_provider-members.html |   99 +
 ...asspulsar_1_1_authentication_data_provider.html |  321 ++++
 ...asspulsar_1_1_batch_receive_policy-members.html |   94 +
 .../classpulsar_1_1_batch_receive_policy.html      |  238 +++
 ...sspulsar_1_1_broker_consumer_stats-members.html |  108 ++
 .../classpulsar_1_1_broker_consumer_stats.html     |  495 +++++
 .../classpulsar_1_1_cached_token-members.html      |   93 +
 .../cpp/3.3.x/classpulsar_1_1_cached_token.html    |  154 ++
 .../cpp/3.3.x/classpulsar_1_1_client-members.html  |  121 ++
 static/api/cpp/3.3.x/classpulsar_1_1_client.html   | 1368 +++++++++++++
 ...asspulsar_1_1_client_configuration-members.html |  134 ++
 .../classpulsar_1_1_client_configuration.html      | 1033 ++++++++++
 ...spulsar_1_1_console_logger_factory-members.html |   93 +
 .../classpulsar_1_1_console_logger_factory.html    |  167 ++
 .../classpulsar_1_1_console_logger_factory.png     |  Bin 0 -> 754 bytes
 .../3.3.x/classpulsar_1_1_consumer-members.html    |  135 ++
 static/api/cpp/3.3.x/classpulsar_1_1_consumer.html | 1205 ++++++++++++
 ...spulsar_1_1_consumer_configuration-members.html |  169 ++
 .../classpulsar_1_1_consumer_configuration.html    | 1840 ++++++++++++++++++
 ...pulsar_1_1_consumer_event_listener-members.html |   92 +
 .../classpulsar_1_1_consumer_event_listener.html   |  193 ++
 ...asspulsar_1_1_consumer_interceptor-members.html |   95 +
 .../classpulsar_1_1_consumer_interceptor.html      |  336 ++++
 .../classpulsar_1_1_crypto_key_reader-members.html |   93 +
 .../3.3.x/classpulsar_1_1_crypto_key_reader.html   |  222 +++
 .../3.3.x/classpulsar_1_1_crypto_key_reader.png    |  Bin 0 -> 845 bytes
 ...classpulsar_1_1_dead_letter_policy-members.html |   94 +
 .../3.3.x/classpulsar_1_1_dead_letter_policy.html  |  172 ++
 ...sar_1_1_dead_letter_policy_builder-members.html |   94 +
 ...classpulsar_1_1_dead_letter_policy_builder.html |  223 +++
 ...lsar_1_1_default_crypto_key_reader-members.html |   96 +
 .../classpulsar_1_1_default_crypto_key_reader.html |  271 +++
 .../classpulsar_1_1_default_crypto_key_reader.png  |  Bin 0 -> 835 bytes
 ...asspulsar_1_1_deprecated_exception-members.html |   90 +
 .../classpulsar_1_1_deprecated_exception.html      |  105 +
 .../3.3.x/classpulsar_1_1_deprecated_exception.png |  Bin 0 -> 697 bytes
 ...lasspulsar_1_1_encryption_key_info-members.html |   97 +
 .../3.3.x/classpulsar_1_1_encryption_key_info.html |  238 +++
 ...lasspulsar_1_1_file_logger_factory-members.html |   93 +
 .../3.3.x/classpulsar_1_1_file_logger_factory.html |  203 ++
 .../3.3.x/classpulsar_1_1_file_logger_factory.png  |  Bin 0 -> 717 bytes
 .../classpulsar_1_1_key_shared_policy-members.html |  101 +
 .../3.3.x/classpulsar_1_1_key_shared_policy.html   |  292 +++
 .../3.3.x/classpulsar_1_1_key_value-members.html   |   96 +
 .../api/cpp/3.3.x/classpulsar_1_1_key_value.html   |  235 +++
 .../cpp/3.3.x/classpulsar_1_1_logger-members.html  |   97 +
 static/api/cpp/3.3.x/classpulsar_1_1_logger.html   |  196 ++
 .../classpulsar_1_1_logger_factory-members.html    |   91 +
 .../cpp/3.3.x/classpulsar_1_1_logger_factory.html  |  146 ++
 .../cpp/3.3.x/classpulsar_1_1_logger_factory.png   |  Bin 0 -> 1049 bytes
 .../cpp/3.3.x/classpulsar_1_1_message-members.html |  132 ++
 static/api/cpp/3.3.x/classpulsar_1_1_message.html  |  640 +++++++
 static/api/cpp/3.3.x/classpulsar_1_1_message.png   |  Bin 0 -> 699 bytes
 .../classpulsar_1_1_message_batch-members.html     |   94 +
 .../cpp/3.3.x/classpulsar_1_1_message_batch.html   |  108 ++
 .../classpulsar_1_1_message_builder-members.html   |  111 ++
 .../cpp/3.3.x/classpulsar_1_1_message_builder.html |  590 ++++++
 .../cpp/3.3.x/classpulsar_1_1_message_builder.png  |  Bin 0 -> 1184 bytes
 .../3.3.x/classpulsar_1_1_message_id-members.html  |  124 ++
 .../api/cpp/3.3.x/classpulsar_1_1_message_id.html  |  397 ++++
 ...classpulsar_1_1_message_id_builder-members.html |   98 +
 .../3.3.x/classpulsar_1_1_message_id_builder.html  |  316 +++
 ...spulsar_1_1_message_routing_policy-members.html |   92 +
 .../classpulsar_1_1_message_routing_policy.html    |  173 ++
 .../3.3.x/classpulsar_1_1_oauth2_flow-members.html |   94 +
 .../api/cpp/3.3.x/classpulsar_1_1_oauth2_flow.html |  181 ++
 ...lasspulsar_1_1_oauth2_token_result-members.html |  100 +
 .../3.3.x/classpulsar_1_1_oauth2_token_result.html |  292 +++
 .../3.3.x/classpulsar_1_1_producer-members.html    |  106 +
 static/api/cpp/3.3.x/classpulsar_1_1_producer.html |  438 +++++
 ...spulsar_1_1_producer_configuration-members.html |  164 ++
 .../classpulsar_1_1_producer_configuration.html    | 1417 ++++++++++++++
 ...asspulsar_1_1_producer_interceptor-members.html |   94 +
 .../classpulsar_1_1_producer_interceptor.html      |  289 +++
 .../cpp/3.3.x/classpulsar_1_1_reader-members.html  |  110 ++
 static/api/cpp/3.3.x/classpulsar_1_1_reader.html   |  544 ++++++
 ...asspulsar_1_1_reader_configuration-members.html |  128 ++
 .../classpulsar_1_1_reader_configuration.html      |  939 +++++++++
 .../3.3.x/classpulsar_1_1_schema_info-members.html |   96 +
 .../api/cpp/3.3.x/classpulsar_1_1_schema_info.html |  304 +++
 .../3.3.x/classpulsar_1_1_table_view-members.html  |  101 +
 .../api/cpp/3.3.x/classpulsar_1_1_table_view.html  |  365 ++++
 .../classpulsar_1_1_topic_metadata-members.html    |   91 +
 .../cpp/3.3.x/classpulsar_1_1_topic_metadata.html  |  129 ++
 .../classpulsar_1_1_typed_message-members.html     |  123 ++
 .../cpp/3.3.x/classpulsar_1_1_typed_message.html   |  193 ++
 .../cpp/3.3.x/classpulsar_1_1_typed_message.png    |  Bin 0 -> 696 bytes
 ...sspulsar_1_1_typed_message_builder-members.html |  114 ++
 .../classpulsar_1_1_typed_message_builder.html     |  170 ++
 .../classpulsar_1_1_typed_message_builder.png      |  Bin 0 -> 817 bytes
 ...age_builder_3_01std_1_1string_01_4-members.html |  114 ++
 ...ped_message_builder_3_01std_1_1string_01_4.html |  170 ++
 ...yped_message_builder_3_01std_1_1string_01_4.png |  Bin 0 -> 884 bytes
 .../cpp/3.3.x/client__configuration_8h_source.html |  211 ++
 static/api/cpp/3.3.x/closed.png                    |  Bin 0 -> 132 bytes
 .../3.3.x/consumer__configuration_8h_source.html   |  333 ++++
 static/api/cpp/3.3.x/darkmode_toggle.js            |  266 +++
 static/api/cpp/3.3.x/defines_8h_source.html        |  113 ++
 static/api/cpp/3.3.x/deprecated.html               |   97 +
 .../dir_501ae28692a6b25a33adbd2bed71d4b9.html      |  128 ++
 .../dir_84093bac216bb6272e4432021f1ca7f4.html      |  185 ++
 .../dir_d44c64559bbebec7f509842c48db8b23.html      |   92 +
 static/api/cpp/3.3.x/doc.svg                       |   12 +
 static/api/cpp/3.3.x/docd.svg                      |   12 +
 static/api/cpp/3.3.x/doxygen.css                   | 2015 ++++++++++++++++++++
 static/api/cpp/3.3.x/doxygen.svg                   |   28 +
 static/api/cpp/3.3.x/dynsections.js                |  123 ++
 static/api/cpp/3.3.x/files.html                    |  153 ++
 static/api/cpp/3.3.x/folderclosed.svg              |   11 +
 static/api/cpp/3.3.x/folderclosedd.svg             |   11 +
 static/api/cpp/3.3.x/folderopen.svg                |   17 +
 static/api/cpp/3.3.x/folderopend.svg               |   12 +
 static/api/cpp/3.3.x/functions.html                |   89 +
 static/api/cpp/3.3.x/functions_b.html              |   94 +
 static/api/cpp/3.3.x/functions_c.html              |   97 +
 static/api/cpp/3.3.x/functions_d.html              |   88 +
 static/api/cpp/3.3.x/functions_e.html              |   88 +
 static/api/cpp/3.3.x/functions_enum.html           |   83 +
 static/api/cpp/3.3.x/functions_eval.html           |   87 +
 static/api/cpp/3.3.x/functions_f.html              |   89 +
 static/api/cpp/3.3.x/functions_func.html           |   89 +
 static/api/cpp/3.3.x/functions_func_b.html         |   93 +
 static/api/cpp/3.3.x/functions_func_c.html         |   97 +
 static/api/cpp/3.3.x/functions_func_d.html         |   87 +
 static/api/cpp/3.3.x/functions_func_e.html         |   86 +
 static/api/cpp/3.3.x/functions_func_f.html         |   89 +
 static/api/cpp/3.3.x/functions_func_g.html         |  216 +++
 static/api/cpp/3.3.x/functions_func_h.html         |   95 +
 static/api/cpp/3.3.x/functions_func_i.html         |  103 +
 static/api/cpp/3.3.x/functions_func_k.html         |   84 +
 static/api/cpp/3.3.x/functions_func_l.html         |   86 +
 static/api/cpp/3.3.x/functions_func_m.html         |   86 +
 static/api/cpp/3.3.x/functions_func_n.html         |   84 +
 static/api/cpp/3.3.x/functions_func_o.html         |   88 +
 static/api/cpp/3.3.x/functions_func_p.html         |   87 +
 static/api/cpp/3.3.x/functions_func_r.html         |   91 +
 static/api/cpp/3.3.x/functions_func_s.html         |  191 ++
 static/api/cpp/3.3.x/functions_func_t.html         |   84 +
 static/api/cpp/3.3.x/functions_func_u.html         |   85 +
 static/api/cpp/3.3.x/functions_g.html              |  216 +++
 static/api/cpp/3.3.x/functions_h.html              |   95 +
 static/api/cpp/3.3.x/functions_i.html              |  103 +
 static/api/cpp/3.3.x/functions_k.html              |   85 +
 static/api/cpp/3.3.x/functions_l.html              |   86 +
 static/api/cpp/3.3.x/functions_m.html              |   86 +
 static/api/cpp/3.3.x/functions_n.html              |   84 +
 static/api/cpp/3.3.x/functions_o.html              |   88 +
 static/api/cpp/3.3.x/functions_p.html              |   88 +
 static/api/cpp/3.3.x/functions_r.html              |   91 +
 static/api/cpp/3.3.x/functions_s.html              |  192 ++
 static/api/cpp/3.3.x/functions_t.html              |   84 +
 static/api/cpp/3.3.x/functions_u.html              |   85 +
 static/api/cpp/3.3.x/functions_w.html              |   84 +
 static/api/cpp/3.3.x/hierarchy.html                |  139 ++
 static/api/cpp/3.3.x/index.html                    |  232 +++
 static/api/cpp/3.3.x/jquery.js                     |   34 +
 static/api/cpp/3.3.x/menu.js                       |  136 ++
 static/api/cpp/3.3.x/menudata.js                   |  110 ++
 static/api/cpp/3.3.x/message__id_8h_source.html    |  114 ++
 .../api/cpp/3.3.x/message__router_8h_source.html   |  106 +
 static/api/cpp/3.3.x/messages_8h_source.html       |  108 ++
 static/api/cpp/3.3.x/namespacemembers.html         |  213 +++
 static/api/cpp/3.3.x/namespacemembers_enum.html    |   87 +
 static/api/cpp/3.3.x/namespacemembers_eval.html    |  198 ++
 static/api/cpp/3.3.x/namespacemembers_func.html    |   82 +
 static/api/cpp/3.3.x/namespacemembers_type.html    |   85 +
 static/api/cpp/3.3.x/namespacepulsar.html          |  758 ++++++++
 static/api/cpp/3.3.x/namespaces.html               |  136 ++
 static/api/cpp/3.3.x/nav_f.png                     |  Bin 0 -> 153 bytes
 static/api/cpp/3.3.x/nav_fd.png                    |  Bin 0 -> 169 bytes
 static/api/cpp/3.3.x/nav_g.png                     |  Bin 0 -> 95 bytes
 static/api/cpp/3.3.x/nav_h.png                     |  Bin 0 -> 98 bytes
 static/api/cpp/3.3.x/nav_hd.png                    |  Bin 0 -> 114 bytes
 static/api/cpp/3.3.x/open.png                      |  Bin 0 -> 123 bytes
 static/api/cpp/3.3.x/pages.html                    |   87 +
 .../3.3.x/producer__configuration_8h_source.html   |  302 +++
 .../cpp/3.3.x/reader__configuration_8h_source.html |  149 ++
 static/api/cpp/3.3.x/search/all_0.js               |   22 +
 static/api/cpp/3.3.x/search/all_1.js               |   16 +
 static/api/cpp/3.3.x/search/all_10.js              |   62 +
 static/api/cpp/3.3.x/search/all_11.js              |  116 ++
 static/api/cpp/3.3.x/search/all_12.js              |    9 +
 static/api/cpp/3.3.x/search/all_13.js              |    5 +
 static/api/cpp/3.3.x/search/all_14.js              |    4 +
 static/api/cpp/3.3.x/search/all_2.js               |   30 +
 static/api/cpp/3.3.x/search/all_3.js               |   13 +
 static/api/cpp/3.3.x/search/all_4.js               |    8 +
 static/api/cpp/3.3.x/search/all_5.js               |   10 +
 static/api/cpp/3.3.x/search/all_6.js               |  136 ++
 static/api/cpp/3.3.x/search/all_7.js               |   15 +
 static/api/cpp/3.3.x/search/all_8.js               |   28 +
 static/api/cpp/3.3.x/search/all_9.js               |    4 +
 static/api/cpp/3.3.x/search/all_a.js               |    9 +
 static/api/cpp/3.3.x/search/all_b.js               |    8 +
 static/api/cpp/3.3.x/search/all_c.js               |   12 +
 static/api/cpp/3.3.x/search/all_d.js               |    6 +
 static/api/cpp/3.3.x/search/all_e.js               |   10 +
 static/api/cpp/3.3.x/search/all_f.js               |   18 +
 static/api/cpp/3.3.x/search/classes_0.js           |   11 +
 static/api/cpp/3.3.x/search/classes_1.js           |    5 +
 static/api/cpp/3.3.x/search/classes_2.js           |   12 +
 static/api/cpp/3.3.x/search/classes_3.js           |    7 +
 static/api/cpp/3.3.x/search/classes_4.js           |    4 +
 static/api/cpp/3.3.x/search/classes_5.js           |    4 +
 static/api/cpp/3.3.x/search/classes_6.js           |    5 +
 static/api/cpp/3.3.x/search/classes_7.js           |    5 +
 static/api/cpp/3.3.x/search/classes_8.js           |    9 +
 static/api/cpp/3.3.x/search/classes_9.js           |    5 +
 static/api/cpp/3.3.x/search/classes_a.js           |    9 +
 static/api/cpp/3.3.x/search/classes_b.js           |    5 +
 static/api/cpp/3.3.x/search/classes_c.js           |    4 +
 static/api/cpp/3.3.x/search/classes_d.js           |    9 +
 static/api/cpp/3.3.x/search/close.svg              |   18 +
 static/api/cpp/3.3.x/search/enums_0.js             |    4 +
 static/api/cpp/3.3.x/search/enums_1.js             |    4 +
 static/api/cpp/3.3.x/search/enums_2.js             |    5 +
 static/api/cpp/3.3.x/search/enums_3.js             |    4 +
 static/api/cpp/3.3.x/search/enums_4.js             |    5 +
 static/api/cpp/3.3.x/search/enums_5.js             |    4 +
 static/api/cpp/3.3.x/search/enumvalues_0.js        |    8 +
 static/api/cpp/3.3.x/search/enumvalues_1.js        |    4 +
 static/api/cpp/3.3.x/search/enumvalues_2.js        |    7 +
 static/api/cpp/3.3.x/search/enumvalues_3.js        |    5 +
 static/api/cpp/3.3.x/search/enumvalues_4.js        |    5 +
 static/api/cpp/3.3.x/search/enumvalues_5.js        |    4 +
 static/api/cpp/3.3.x/search/enumvalues_6.js        |    8 +
 static/api/cpp/3.3.x/search/enumvalues_7.js        |    4 +
 static/api/cpp/3.3.x/search/enumvalues_8.js        |    5 +
 static/api/cpp/3.3.x/search/enumvalues_9.js        |    5 +
 static/api/cpp/3.3.x/search/enumvalues_a.js        |    6 +
 static/api/cpp/3.3.x/search/enumvalues_b.js        |   49 +
 static/api/cpp/3.3.x/search/enumvalues_c.js        |    7 +
 static/api/cpp/3.3.x/search/enumvalues_d.js        |    4 +
 static/api/cpp/3.3.x/search/functions_0.js         |    9 +
 static/api/cpp/3.3.x/search/functions_1.js         |   13 +
 static/api/cpp/3.3.x/search/functions_10.js        |  111 ++
 static/api/cpp/3.3.x/search/functions_11.js        |    4 +
 static/api/cpp/3.3.x/search/functions_12.js        |    5 +
 static/api/cpp/3.3.x/search/functions_2.js         |   18 +
 static/api/cpp/3.3.x/search/functions_3.js         |    7 +
 static/api/cpp/3.3.x/search/functions_4.js         |    6 +
 static/api/cpp/3.3.x/search/functions_5.js         |    9 +
 static/api/cpp/3.3.x/search/functions_6.js         |  136 ++
 static/api/cpp/3.3.x/search/functions_7.js         |   15 +
 static/api/cpp/3.3.x/search/functions_8.js         |   23 +
 static/api/cpp/3.3.x/search/functions_9.js         |    4 +
 static/api/cpp/3.3.x/search/functions_a.js         |    6 +
 static/api/cpp/3.3.x/search/functions_b.js         |    6 +
 static/api/cpp/3.3.x/search/functions_c.js         |    4 +
 static/api/cpp/3.3.x/search/functions_d.js         |    8 +
 static/api/cpp/3.3.x/search/functions_e.js         |    7 +
 static/api/cpp/3.3.x/search/functions_f.js         |   11 +
 static/api/cpp/3.3.x/search/mag.svg                |   24 +
 static/api/cpp/3.3.x/search/mag_d.svg              |   24 +
 static/api/cpp/3.3.x/search/mag_sel.svg            |   31 +
 static/api/cpp/3.3.x/search/mag_seld.svg           |   31 +
 static/api/cpp/3.3.x/search/namespaces_0.js        |    4 +
 static/api/cpp/3.3.x/search/pages_0.js             |    4 +
 static/api/cpp/3.3.x/search/pages_1.js             |    4 +
 static/api/cpp/3.3.x/search/search.css             |  291 +++
 static/api/cpp/3.3.x/search/search.js              |  820 ++++++++
 static/api/cpp/3.3.x/search/searchdata.js          |   36 +
 static/api/cpp/3.3.x/search/typedefs_0.js          |    5 +
 static/api/cpp/3.3.x/search/typedefs_1.js          |    5 +
 static/api/cpp/3.3.x/splitbar.png                  |  Bin 0 -> 314 bytes
 static/api/cpp/3.3.x/splitbard.png                 |  Bin 0 -> 282 bytes
 static/api/cpp/3.3.x/string__list_8h_source.html   |  109 ++
 static/api/cpp/3.3.x/string__map_8h_source.html    |  112 ++
 ...ulsar_1_1_table_view_configuration-members.html |   91 +
 .../structpulsar_1_1_table_view_configuration.html |  102 +
 ...onsumer__batch__receive__policy__t-members.html |   88 +
 ...ulsar__consumer__batch__receive__policy__t.html |  101 +
 ...r__config__dead__letter__policy__t-members.html |   88 +
 ..._consumer__config__dead__letter__policy__t.html |  101 +
 .../cpp/3.3.x/structpulsar__logger__t-members.html |   88 +
 static/api/cpp/3.3.x/structpulsar__logger__t.html  |  101 +
 static/api/cpp/3.3.x/sync_off.png                  |  Bin 0 -> 853 bytes
 static/api/cpp/3.3.x/sync_on.png                   |  Bin 0 -> 845 bytes
 static/api/cpp/3.3.x/tab_a.png                     |  Bin 0 -> 142 bytes
 static/api/cpp/3.3.x/tab_ad.png                    |  Bin 0 -> 135 bytes
 static/api/cpp/3.3.x/tab_b.png                     |  Bin 0 -> 169 bytes
 static/api/cpp/3.3.x/tab_bd.png                    |  Bin 0 -> 173 bytes
 static/api/cpp/3.3.x/tab_h.png                     |  Bin 0 -> 177 bytes
 static/api/cpp/3.3.x/tab_hd.png                    |  Bin 0 -> 180 bytes
 static/api/cpp/3.3.x/tab_s.png                     |  Bin 0 -> 184 bytes
 static/api/cpp/3.3.x/tab_sd.png                    |  Bin 0 -> 188 bytes
 static/api/cpp/3.3.x/table__view_8h_source.html    |  131 ++
 .../table__view__configuration_8h_source.html      |  116 ++
 static/api/cpp/3.3.x/tabs.css                      |    1 +
 static/api/cpp/3.3.x/version_8h_source.html        |   90 +
 365 files changed, 47715 insertions(+)

diff --git a/static/api/cpp/3.3.x/_authentication_8h_source.html b/static/api/cpp/3.3.x/_authentication_8h_source.html
new file mode 100644
index 00000000000..b3f3095897a
--- /dev/null
+++ b/static/api/cpp/3.3.x/_authentication_8h_source.html
@@ -0,0 +1,408 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Authentication.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_AUTHENTICATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_AUTHENTICATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="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="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 <a class="code hl_class" href="classpulsar_1_1_authentication_data_provider.html">AuthenticationDataProvider</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="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_authentication_data_provider.html">~AuthenticationDataProvider</a>();</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>    <a class="code hl_class" href="classpulsar_1_1_authentication_data_provider.html">AuthenticationDataProvider</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">   83</span> </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span><span class="keyword">typedef</span> std::shared_ptr&lt;AuthenticationDataProvider&gt; AuthenticationDataPtr;</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span><span class="keyword">typedef</span> std::shared_ptr&lt;Authentication&gt; AuthenticationPtr;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; ParamMap;</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a> {</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> <a class="code hl_class" href="classpulsar_1_1_authentication.html">~Authentication</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_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="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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">getAuthData</a>(AuthenticationDataPtr&amp; authDataContent) {</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>        authDataContent = authData_;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>        <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f">ResultOk</a>;</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> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">  120</a></span>    <span class="keyword">static</span> ParamMap <a class="code hl_function" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">parseDefaultFormatAuthParams</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a>();</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><a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>;</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> </div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html">  136</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_auth_factory.html">AuthFactory</a> {</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>    <span class="keyword">static</span> AuthenticationPtr Disabled();</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html#a551395eda623d3454c758c3479423ce3">  145</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_factory.html#a551395eda623d3454c758c3479423ce3">create</a>(<span class="keyword">const</span> std::string&amp; pluginNameOrDynamicLibPath);</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html#af84e99a6be262145d928e599946ab82d">  153</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_factory.html#af84e99a6be262145d928e599946ab82d">create</a>(<span class="keyword">const</span> std::string&amp; pluginNameOrDynamicLibPath,</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>                                    <span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_factory.html#a644b858e4a59482ecce5d1782bd4b452">  172</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_factory.html#a644b858e4a59482ecce5d1782bd4b452">create</a>(<span class="keyword">const</span> std::string&amp; pluginNameOrDynamicLibPath, ParamMap&amp; params);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    <span class="keyword">static</span> <span class="keywordtype">bool</span> isShutdownHookRegistered_;</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>    <span class="keyword">static</span> std::vector&lt;void*&gt; loadedLibrariesHandles_;</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>    <span class="keyword">static</span> <span class="keywordtype">void</span> release_handles();</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>};</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span> </div>
+<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 <a class="code hl_class" href="classpulsar_1_1_auth_tls.html">AuthTls</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_auth_tls.html">AuthTls</a>(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>    <a class="code hl_class" href="classpulsar_1_1_auth_tls.html">~AuthTls</a>();</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#a3a2603a8be94cdde4845c941dc8871cc">  194</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#a3a2603a8be94cdde4845c941dc8871cc">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#a19312c7b58d94aa05927ee33922731de">  201</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#a19312c7b58d94aa05927ee33922731de">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#ac32274cb7d7095cfcd35fcebcf277d5b">  209</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#ac32274cb7d7095cfcd35fcebcf277d5b">create</a>(<span class="keyword">const</span> std::string&amp; certificatePath, <span class="keyword">const</span> std::string&amp; privateKeyPath);</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#a2c87f86950aa979f666896e7a5f79398">  214</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#a2c87f86950aa979f666896e7a5f79398">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_tls.html#ae88d06f62a47e92e7c52e74df3cacb56">  223</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_tls.html#ae88d06f62a47e92e7c52e74df3cacb56">getAuthData</a>(AuthenticationDataPtr&amp; authDataTls);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>    AuthenticationDataPtr authDataTls_;</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>};</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span> </div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span><span class="keyword">typedef</span> std::function&lt;std::string()&gt; TokenSupplier;</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_auth_token.html">AuthToken</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_auth_token.html">AuthToken</a>(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    <a class="code hl_class" href="classpulsar_1_1_auth_token.html">~AuthToken</a>();</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#aa4d3740c838620765a7332bf2247b5e9">  254</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#aa4d3740c838620765a7332bf2247b5e9">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a9601a01bd5b7b644531d82fc3cfa7d09">  261</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a9601a01bd5b7b644531d82fc3cfa7d09">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a80911f1374df425fdb76f066dfe7ebd9">  269</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a80911f1374df425fdb76f066dfe7ebd9">createWithToken</a>(<span class="keyword">const</span> std::string&amp; token);</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span> </div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#ae9b2da50ad0c22335b298d939239602c">  277</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_token.html#ae9b2da50ad0c22335b298d939239602c">create</a>(<span class="keyword">const</span> TokenSupplier&amp; tokenSupplier);</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a0d1bf202c18b9131be315b166b4b1caa">  282</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a0d1bf202c18b9131be315b166b4b1caa">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_token.html#a212a8af7680f196e4fba4e0152e6d0a5">  291</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_token.html#a212a8af7680f196e4fba4e0152e6d0a5">getAuthData</a>(AuthenticationDataPtr&amp; authDataToken);</div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span> </div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>    AuthenticationDataPtr authDataToken_;</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>};</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span> </div>
+<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 <a class="code hl_class" href="classpulsar_1_1_auth_basic.html">AuthBasic</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a> {</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> <a class="code hl_class" href="classpulsar_1_1_auth_basic.html">AuthBasic</a>(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>    <a class="code hl_class" href="classpulsar_1_1_auth_basic.html">~AuthBasic</a>() <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">  311</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">  318</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">  323</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">create</a>(<span class="keyword">const</span> std::string&amp; username, <span class="keyword">const</span> std::string&amp; password);</div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span> </div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">  328</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">create</a>(<span class="keyword">const</span> std::string&amp; username, <span class="keyword">const</span> std::string&amp; password,</div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span>                                    <span class="keyword">const</span> std::string&amp; method);</div>
+<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span> </div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">  334</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">getAuthMethodName</a>() <span class="keyword">const override</span>;</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">  343</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">getAuthData</a>(AuthenticationDataPtr&amp; authDataBasic) <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span> </div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span>    AuthenticationDataPtr authDataBasic_;</div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span>};</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span> </div>
+<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 <a class="code hl_class" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a>(AuthenticationDataPtr&amp;);</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span>    <a class="code hl_class" href="classpulsar_1_1_auth_athenz.html">~AuthAthenz</a>();</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span> </div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">  366</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">  373</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">  378</a></span>    <span class="keyword">const</span> std::string <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">getAuthMethodName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span> </div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">  387</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">getAuthData</a>(AuthenticationDataPtr&amp; authDataAthenz);</div>
+<div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</span> </div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span>    AuthenticationDataPtr authDataAthenz_;</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>};</div>
+<div 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="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><a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a> {</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">enum</span></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>        undefined_expiration = -1</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span>    };</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span> </div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a>();</div>
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">~Oauth2TokenResult</a>();</div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span> </div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">  410</a></span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a>&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">setAccessToken</a>(<span class="keyword">const</span> std::string&amp; accessToken);</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">  417</a></span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a>&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">setIdToken</a>(<span class="keyword">const</span> std::string&amp; idToken);</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">  425</a></span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a>&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">setRefreshToken</a>(<span class="keyword">const</span> std::string&amp; refreshToken);</div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#aa27ab0a802260bbf7142e03fd6c8bb46">  432</a></span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a>&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#aa27ab0a802260bbf7142e03fd6c8bb46">setExpiresIn</a>(<span class="keyword">const</span> int64_t expiresIn);</div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span> </div>
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a41359aec5371cbcea46cad38e02e28b4">  437</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#a41359aec5371cbcea46cad38e02e28b4">getAccessToken</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#ad04cbc8f2c1980d7603b13bdac2359e7">  442</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#ad04cbc8f2c1980d7603b13bdac2359e7">getIdToken</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00443" name="l00443"></a><span class="lineno">  443</span> </div>
+<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#ab3f6c44eaa2f4eed65e98fdfa2e3cd95">  448</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_oauth2_token_result.html#ab3f6c44eaa2f4eed65e98fdfa2e3cd95">getRefreshToken</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span> </div>
+<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_token_result.html#a3fe9ca08aada6022f2977051420eea77">  453</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="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  455</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  456</span>    <span class="comment">// map to json &quot;access_token&quot;</span></div>
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span>    std::string accessToken_;</div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  458</span>    <span class="comment">// map to json &quot;id_token&quot;</span></div>
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span>    std::string idToken_;</div>
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span>    <span class="comment">// map to json &quot;refresh_token&quot;</span></div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span>    std::string refreshToken_;</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span>    <span class="comment">// map to json &quot;expires_in&quot;</span></div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span>    int64_t expiresIn_;</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span>};</div>
+<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span> </div>
+<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span><span class="keyword">typedef</span> std::shared_ptr&lt;Oauth2TokenResult&gt; Oauth2TokenResultPtr;</div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span> </div>
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html">  468</a></span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_oauth2_flow.html">Oauth2Flow</a> {</div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_oauth2_flow.html">~Oauth2Flow</a>();</div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html#a2d9a138289565a4e07aded8fffdcb96e">  475</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="l00476" name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"><a class="line" href="classpulsar_1_1_oauth2_flow.html#a26ba112e97d9ce0283adaa9213f848ac">  481</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="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_oauth2_flow.html#ae4815e1adf8cced8553f9e3d6d6717a8">  486</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="l00487" name="l00487"></a><span class="lineno">  487</span> </div>
+<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  488</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  489</span>    <a class="code hl_class" href="classpulsar_1_1_oauth2_flow.html">Oauth2Flow</a>();</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span>};</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">typedef</span> std::shared_ptr&lt;Oauth2Flow&gt; FlowPtr;</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"><a class="line" href="classpulsar_1_1_cached_token.html">  494</a></span><span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_cached_token.html">CachedToken</a> {</div>
+<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_cached_token.html">~CachedToken</a>();</div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span> </div>
+<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="classpulsar_1_1_cached_token.html#a2fe69f2fb7037139b52f9c66a0af05f2">  501</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="l00502" name="l00502"></a><span class="lineno">  502</span> </div>
+<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="classpulsar_1_1_cached_token.html#a6e249f44ae21288c7365d1baece3da5d">  508</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="l00509" name="l00509"></a><span class="lineno">  509</span> </div>
+<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno">  511</span>    <a class="code hl_class" href="classpulsar_1_1_cached_token.html">CachedToken</a>();</div>
+<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span>};</div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span> </div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span><span class="keyword">typedef</span> std::shared_ptr&lt;CachedToken&gt; CachedTokenPtr;</div>
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html">  528</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_auth_oauth2.html">AuthOauth2</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a> {</div>
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno">  529</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span>    <a class="code hl_class" href="classpulsar_1_1_auth_oauth2.html">AuthOauth2</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00531" name="l00531"></a><span class="lineno">  531</span>    <a class="code hl_class" href="classpulsar_1_1_auth_oauth2.html">~AuthOauth2</a>();</div>
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span> </div>
+<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#a7bb0d842b22b59036587b22da2447377">  541</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#a7bb0d842b22b59036587b22da2447377">create</a>(ParamMap&amp; params);</div>
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno">  542</span> </div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#aca6ec2237b43187d8001a5b79a2f11e4">  548</a></span>    <span class="keyword">static</span> AuthenticationPtr <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#aca6ec2237b43187d8001a5b79a2f11e4">create</a>(<span class="keyword">const</span> std::string&amp; authParamsString);</div>
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span> </div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#ac71578130863f59cb02fe1aefa9d70f6">  553</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="l00554" name="l00554"></a><span class="lineno">  554</span> </div>
+<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"><a class="line" href="classpulsar_1_1_auth_oauth2.html#adcf1f8cac446270ee6aa0a0ad156842e">  562</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_auth_oauth2.html#adcf1f8cac446270ee6aa0a0ad156842e">getAuthData</a>(AuthenticationDataPtr&amp; authDataOauth2);</div>
+<div class="line"><a id="l00563" name="l00563"></a><span class="lineno">  563</span> </div>
+<div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00565" name="l00565"></a><span class="lineno">  565</span>    FlowPtr flowPtr_;</div>
+<div class="line"><a id="l00566" name="l00566"></a><span class="lineno">  566</span>    CachedTokenPtr cachedTokenPtr_;</div>
+<div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span>};</div>
+<div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span> </div>
+<div class="line"><a id="l00569" name="l00569"></a><span class="lineno">  569</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00570" name="l00570"></a><span class="lineno">  570</span> </div>
+<div class="line"><a id="l00571" name="l00571"></a><span class="lineno">  571</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"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></div><div class="ttdef"><b>Definition</b> Authentication.h:352</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_a274c9e677c536166fd1d4f8af6161546"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">pulsar::AuthAthenz::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataAthenz)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_a65405a1cfd2ec3efcaeea3ed8269fa47"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">pulsar::AuthAthenz::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_acde69fc41668a27d12d558023aaed0d9"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">pulsar::AuthAthenz::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_athenz_html_afd40a525e1d8d61fc97880c2c8a958fe"><div class="ttname"><a href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">pulsar::AuthAthenz::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></div><div class="ttdef"><b>Definition</b> Authentication.h:300</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_a7b1ccda07ff0a22a705159e27149f3d4"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">pulsar::AuthBasic::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataBasic) override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_a86ce78ef0606d5642f110dc4ec8c6f67"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;username, const std::string &amp;password)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_ac85c75b0d48375423cbb5c1421529c46"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;username, const std::string &amp;password, const std::string &amp;method)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_ac9f7f369e4559f0aa108708355dcaaec"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_ad9d2d1d47a1f1d82fee3522ea5991c3b"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">pulsar::AuthBasic::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_basic_html_aee17b2ca84965dfe8b3d9296dd397400"><div class="ttname"><a href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">pulsar::AuthBasic::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html">pulsar::AuthFactory</a></div><div class="ttdef"><b>Definition</b> Authentication.h:136</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html_a551395eda623d3454c758c3479423ce3"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html#a551395eda623d3454c758c3479423ce3">pulsar::AuthFactory::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;pluginNameOrDynamicLibPath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html_a644b858e4a59482ecce5d1782bd4b452"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html#a644b858e4a59482ecce5d1782bd4b452">pulsar::AuthFactory::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;pluginNameOrDynamicLibPath, ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_factory_html_af84e99a6be262145d928e599946ab82d"><div class="ttname"><a href="classpulsar_1_1_auth_factory.html#af84e99a6be262145d928e599946ab82d">pulsar::AuthFactory::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;pluginNameOrDynamicLibPath, const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html">pulsar::AuthOauth2</a></div><div class="ttdef"><b>Definition</b> Authentication.h:528</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_a7bb0d842b22b59036587b22da2447377"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#a7bb0d842b22b59036587b22da2447377">pulsar::AuthOauth2::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_ac71578130863f59cb02fe1aefa9d70f6"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#ac71578130863f59cb02fe1aefa9d70f6">pulsar::AuthOauth2::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_aca6ec2237b43187d8001a5b79a2f11e4"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#aca6ec2237b43187d8001a5b79a2f11e4">pulsar::AuthOauth2::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_oauth2_html_adcf1f8cac446270ee6aa0a0ad156842e"><div class="ttname"><a href="classpulsar_1_1_auth_oauth2.html#adcf1f8cac446270ee6aa0a0ad156842e">pulsar::AuthOauth2::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataOauth2)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html">pulsar::AuthTls</a></div><div class="ttdef"><b>Definition</b> Authentication.h:183</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_a19312c7b58d94aa05927ee33922731de"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#a19312c7b58d94aa05927ee33922731de">pulsar::AuthTls::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_a2c87f86950aa979f666896e7a5f79398"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#a2c87f86950aa979f666896e7a5f79398">pulsar::AuthTls::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_a3a2603a8be94cdde4845c941dc8871cc"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#a3a2603a8be94cdde4845c941dc8871cc">pulsar::AuthTls::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_ac32274cb7d7095cfcd35fcebcf277d5b"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#ac32274cb7d7095cfcd35fcebcf277d5b">pulsar::AuthTls::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;certificatePath, const std::string &amp;privateKeyPath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_tls_html_ae88d06f62a47e92e7c52e74df3cacb56"><div class="ttname"><a href="classpulsar_1_1_auth_tls.html#ae88d06f62a47e92e7c52e74df3cacb56">pulsar::AuthTls::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataTls)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html"><div class="ttname"><a href="classpulsar_1_1_auth_token.html">pulsar::AuthToken</a></div><div class="ttdef"><b>Definition</b> Authentication.h:234</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a0d1bf202c18b9131be315b166b4b1caa"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a0d1bf202c18b9131be315b166b4b1caa">pulsar::AuthToken::getAuthMethodName</a></div><div class="ttdeci">const std::string getAuthMethodName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a212a8af7680f196e4fba4e0152e6d0a5"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a212a8af7680f196e4fba4e0152e6d0a5">pulsar::AuthToken::getAuthData</a></div><div class="ttdeci">Result getAuthData(AuthenticationDataPtr &amp;authDataToken)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a80911f1374df425fdb76f066dfe7ebd9"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a80911f1374df425fdb76f066dfe7ebd9">pulsar::AuthToken::createWithToken</a></div><div class="ttdeci">static AuthenticationPtr createWithToken(const std::string &amp;token)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_a9601a01bd5b7b644531d82fc3cfa7d09"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#a9601a01bd5b7b644531d82fc3cfa7d09">pulsar::AuthToken::create</a></div><div class="ttdeci">static AuthenticationPtr create(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_aa4d3740c838620765a7332bf2247b5e9"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#aa4d3740c838620765a7332bf2247b5e9">pulsar::AuthToken::create</a></div><div class="ttdeci">static AuthenticationPtr create(ParamMap &amp;params)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_auth_token_html_ae9b2da50ad0c22335b298d939239602c"><div class="ttname"><a href="classpulsar_1_1_auth_token.html#ae9b2da50ad0c22335b298d939239602c">pulsar::AuthToken::create</a></div><div class="ttdeci">static AuthenticationPtr create(const TokenSupplier &amp;tokenSupplier)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html">pulsar::AuthenticationDataProvider</a></div><div class="ttdef"><b>Definition</b> Authentication.h:36</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a1ad6773dcb324d73d6fe6aaa01927e67"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a1ad6773dcb324d73d6fe6aaa01927e67">pulsar::AuthenticationDataProvider::hasDataFromCommand</a></div><div class="ttdeci">virtual bool hasDataFromCommand()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a1ea19f94ab4b5479022a1df0f566668d"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a1ea19f94ab4b5479022a1df0f566668d">pulsar::AuthenticationDataProvider::getCommandData</a></div><div class="ttdeci">virtual std::string getCommandData()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a8a86f5d276fafcc7f35bc49a365be9f8"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a8a86f5d276fafcc7f35bc49a365be9f8">pulsar::AuthenticationDataProvider::getTlsPrivateKey</a></div><div class="ttdeci">virtual std::string getTlsPrivateKey()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_a90657a3943e3baed5dc5d469e8c64d2a"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#a90657a3943e3baed5dc5d469e8c64d2a">pulsar::AuthenticationDataProvider::getHttpHeaders</a></div><div class="ttdeci">virtual std::string getHttpHeaders()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_ab201bbb1a90f3d4ca580bec9021d9d53"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#ab201bbb1a90f3d4ca580bec9021d9d53">pulsar::AuthenticationDataProvider::getHttpAuthType</a></div><div class="ttdeci">virtual std::string getHttpAuthType()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_af2694d6a80dfe8af67c16ef45f3e9645"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#af2694d6a80dfe8af67c16ef45f3e9645">pulsar::AuthenticationDataProvider::getTlsCertificates</a></div><div class="ttdeci">virtual std::string getTlsCertificates()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_af500b208a36e4849bd9ee1f6c48eb60e"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#af500b208a36e4849bd9ee1f6c48eb60e">pulsar::AuthenticationDataProvider::hasDataForTls</a></div><div class="ttdeci">virtual bool hasDataForTls()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_data_provider_html_afbe3f1d0356a5d362bffc7f8253bf631"><div class="ttname"><a href="classpulsar_1_1_authentication_data_provider.html#afbe3f1d0356a5d362bffc7f8253bf631">pulsar::AuthenticationDataProvider::hasDataForHttp</a></div><div class="ttdeci">virtual bool hasDataForHttp()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html"><div class="ttname"><a href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></div><div class="ttdef"><b>Definition</b> Authentication.h:88</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html_a0ff47251bd4184cd0e9155e76a5c35bb"><div class="ttname"><a href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">pulsar::Authentication::parseDefaultFormatAuthParams</a></div><div class="ttdeci">static ParamMap parseDefaultFormatAuthParams(const std::string &amp;authParamsString)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html_a14811c36fc300cfa7769f7ee96018688"><div class="ttname"><a href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">pulsar::Authentication::getAuthData</a></div><div class="ttdeci">virtual Result getAuthData(AuthenticationDataPtr &amp;authDataContent)</div><div class="ttdef"><b>Definition</b> Authentication.h:104</div></div>
+<div class="ttc" id="aclasspulsar_1_1_authentication_html_aafe5c68d220ae0926a2c66953eafed57"><div class="ttname"><a href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">pulsar::Authentication::getAuthMethodName</a></div><div class="ttdeci">virtual const std::string getAuthMethodName() const =0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_cached_token_html"><div class="ttname"><a href="classpulsar_1_1_cached_token.html">pulsar::CachedToken</a></div><div class="ttdef"><b>Definition</b> Authentication.h:494</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:29</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_flow_html"><div class="ttname"><a href="classpulsar_1_1_oauth2_flow.html">pulsar::Oauth2Flow</a></div><div class="ttdef"><b>Definition</b> Authentication.h:468</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"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html">pulsar::Oauth2TokenResult</a></div><div class="ttdef"><b>Definition</b> Authentication.h:395</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a3fe9ca08aada6022f2977051420eea77"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a3fe9ca08aada6022f2977051420eea77">pulsar::Oauth2TokenResult::getExpiresIn</a></div><div class="ttdeci">int64_t getExpiresIn() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a41359aec5371cbcea46cad38e02e28b4"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a41359aec5371cbcea46cad38e02e28b4">pulsar::Oauth2TokenResult::getAccessToken</a></div><div class="ttdeci">const std::string &amp; getAccessToken() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a87d8e7e923d1ca96d5c0425cf80d5d42"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a87d8e7e923d1ca96d5c0425cf80d5d42">pulsar::Oauth2TokenResult::setRefreshToken</a></div><div class="ttdeci">Oauth2TokenResult &amp; setRefreshToken(const std::string &amp;refreshToken)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_a9cdc37fbe7d61486affda02a753ff1dc"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#a9cdc37fbe7d61486affda02a753ff1dc">pulsar::Oauth2TokenResult::setIdToken</a></div><div class="ttdeci">Oauth2TokenResult &amp; setIdToken(const std::string &amp;idToken)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_aa27ab0a802260bbf7142e03fd6c8bb46"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#aa27ab0a802260bbf7142e03fd6c8bb46">pulsar::Oauth2TokenResult::setExpiresIn</a></div><div class="ttdeci">Oauth2TokenResult &amp; setExpiresIn(const int64_t expiresIn)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_ab3f6c44eaa2f4eed65e98fdfa2e3cd95"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#ab3f6c44eaa2f4eed65e98fdfa2e3cd95">pulsar::Oauth2TokenResult::getRefreshToken</a></div><div class="ttdeci">const std::string &amp; getRefreshToken() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_ad04cbc8f2c1980d7603b13bdac2359e7"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#ad04cbc8f2c1980d7603b13bdac2359e7">pulsar::Oauth2TokenResult::getIdToken</a></div><div class="ttdeci">const std::string &amp; getIdToken() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_oauth2_token_result_html_af592ce6cc7e7633da3c03cfaa9f0876f"><div class="ttname"><a href="classpulsar_1_1_oauth2_token_result.html#af592ce6cc7e7633da3c03cfaa9f0876f">pulsar::Oauth2TokenResult::setAccessToken</a></div><div class="ttdeci">Oauth2TokenResult &amp; setAccessToken(const std::string &amp;accessToken)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f">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:34</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_batch_receive_policy_8h_source.html b/static/api/cpp/3.3.x/_batch_receive_policy_8h_source.html
new file mode 100644
index 00000000000..f1ad48b8f29
--- /dev/null
+++ b/static/api/cpp/3.3.x/_batch_receive_policy_8h_source.html
@@ -0,0 +1,123 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">BatchReceivePolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef BATCH_RECEIVE_POLICY_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define BATCH_RECEIVE_POLICY_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">struct </span>BatchReceivePolicyImpl;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="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_class" href="classpulsar_1_1_batch_receive_policy.html">BatchReceivePolicy</a> {</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">   57</a></span>    <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">BatchReceivePolicy</a>();</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#af991536bbae3de08b7d11ad3ad28f647">   66</a></span>    <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#af991536bbae3de08b7d11ad3ad28f647">BatchReceivePolicy</a>(<span class="keywordtype">int</span> maxNumMessage, <span class="keywordtype">long</span> maxNumBytes, <span class="keywordtype">long</span> timeoutMs);</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#acb75726b7e7a75dc65181bada30b9f31">   73</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#acb75726b7e7a75dc65181bada30b9f31">getTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#a079a3ecd654faeff462a673a4ba94940">   79</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a079a3ecd654faeff462a673a4ba94940">getMaxNumMessages</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_batch_receive_policy.html#a81bf902bd62c003126aafb50a1ea7dea">   85</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_batch_receive_policy.html#a81bf902bd62c003126aafb50a1ea7dea">getMaxNumBytes</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    std::shared_ptr&lt;BatchReceivePolicyImpl&gt; impl_;</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>};</div>
+<div 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"><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_batch_receive_policy_html_a079a3ecd654faeff462a673a4ba94940"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#a079a3ecd654faeff462a673a4ba94940">pulsar::BatchReceivePolicy::getMaxNumMessages</a></div><div class="ttdeci">int getMaxNumMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_a81bf902bd62c003126aafb50a1ea7dea"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#a81bf902bd62c003126aafb50a1ea7dea">pulsar::BatchReceivePolicy::getMaxNumBytes</a></div><div class="ttdeci">long getMaxNumBytes() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_a95e11e66f6e2a2ae0d842c39f15ebfe0"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#a95e11e66f6e2a2ae0d842c39f15ebfe0">pulsar::BatchReceivePolicy::BatchReceivePolicy</a></div><div class="ttdeci">BatchReceivePolicy()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_acb75726b7e7a75dc65181bada30b9f31"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#acb75726b7e7a75dc65181bada30b9f31">pulsar::BatchReceivePolicy::getTimeoutMs</a></div><div class="ttdeci">long getTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_batch_receive_policy_html_af991536bbae3de08b7d11ad3ad28f647"><div class="ttname"><a href="classpulsar_1_1_batch_receive_policy.html#af991536bbae3de08b7d11ad3ad28f647">pulsar::BatchReceivePolicy::BatchReceivePolicy</a></div><div class="ttdeci">BatchReceivePolicy(int maxNumMessage, long maxNumBytes, long timeoutMs)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_broker_consumer_stats_8h_source.html b/static/api/cpp/3.3.x/_broker_consumer_stats_8h_source.html
new file mode 100644
index 00000000000..ca0873edc71
--- /dev/null
+++ b/static/api/cpp/3.3.x/_broker_consumer_stats_8h_source.html
@@ -0,0 +1,167 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">BrokerConsumerStats.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CPP_BROKERCONSUMERSTATS_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CPP_BROKERCONSUMERSTATS_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ConsumerType.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>BrokerConsumerStatsImplBase;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="comment">/* @note: isValid() or getXXX() methods are not allowed on an invalid BrokerConsumerStats */</span></div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    std::shared_ptr&lt;BrokerConsumerStatsImplBase&gt; impl_;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a>() = <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> <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a>(std::shared_ptr&lt;BrokerConsumerStatsImplBase&gt; impl);</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">~BrokerConsumerStats</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="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#a4f56bc158ec0f4abf5a50c4ac03f8a3c">   76</a></span>    <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code hl_enumeration" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40">ConsumerType</a> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a4f56bc158ec0f4abf5a50c4ac03f8a3c">getTyp [...]
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#adee6895ac624d9fbab24f58f7f62859b">   79</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#adee6895ac624d9fbab24f58f7f62859b">getMsgRateExpired</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a55167beb17344517fedf88a2e86a3024">   82</a></span>    <span class="keyword">virtual</span> uint64_t <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a55167beb17344517fedf88a2e86a3024">getMsgBacklog</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_broker_consumer_stats.html#a327a6687c6d5386a54e1a9ac4e027e9e">   85</a></span>    std::shared_ptr&lt;BrokerConsumerStatsImplBase&gt; <a class="code hl_function" href="classpulsar_1_1_broker_consumer_stats.html#a327a6687c6d5386a54e1a9ac4e027e9e">getImpl</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    <span class="keyword">friend</span> PULSAR_PUBLIC std::ostream &amp;operator&lt;&lt;(std::ostream &amp;os, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> &amp;obj);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>};</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, <a class="code hl_class" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> brokerConsumerStats)&gt;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>    BrokerConsumerStatsCallback;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_BROKERCONSUMERSTATS_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html">pulsar::BrokerConsumerStats</a></div><div class="ttdef"><b>Definition</b> BrokerConsumerStats.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a09a325a6512dce27e33f8ddeac7a94ba"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a09a325a6512dce27e33f8ddeac7a94ba">pulsar::BrokerConsumerStats::getMsgRateOut</a></div><div class="ttdeci">virtual double getMsgRateOut() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a124a4228983be259fdcfa511814a3920"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a124a4228983be259fdcfa511814a3920">pulsar::BrokerConsumerStats::getAvailablePermits</a></div><div class="ttdeci">virtual uint64_t getAvailablePermits() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a2c473d54fdb38abf2c19d655427185f4"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a2c473d54fdb38abf2c19d655427185f4">pulsar::BrokerConsumerStats::getConsumerName</a></div><div class="ttdeci">virtual const std::string getConsumerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a327a6687c6d5386a54e1a9ac4e027e9e"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a327a6687c6d5386a54e1a9ac4e027e9e">pulsar::BrokerConsumerStats::getImpl</a></div><div class="ttdeci">std::shared_ptr&lt; BrokerConsumerStatsImplBase &gt; getImpl() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_broker_consumer_stats_html_a4f56bc158ec0f4abf5a50c4ac03f8a3c"><div class="ttname"><a href="classpulsar_1_1_broker_consumer_stats.html#a4f56bc158ec0f4abf5a50c4ac03f8a3c">pulsar::BrokerConsumerStats::getType</a></div><div class="ttdeci">virtual const ConsumerType getType() 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_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_ac3e442abe2558a2b257fc7344af61d40"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40">pulsar::ConsumerType</a></div><div class="ttdeci">ConsumerType</div><div class="ttdef"><b>Definition</b> ConsumerType.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_client_8h_source.html b/static/api/cpp/3.3.x/_client_8h_source.html
new file mode 100644
index 00000000000..882ce3fc429
--- /dev/null
+++ b/static/api/cpp/3.3.x/_client_8h_source.html
@@ -0,0 +1,252 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Client.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CLIENT_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CLIENT_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ClientConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ConsoleLoggerFactory.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Consumer.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/FileLoggerFactory.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/MessageBuilder.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/Producer.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/Reader.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;pulsar/TableView.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, Producer)&gt; CreateProducerCallback;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, Consumer)&gt; SubscribeCallback;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, Reader)&gt; ReaderCallback;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, TableView)&gt; TableViewCallback;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp;)&gt; GetPartitionsCallback;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>)&gt; CloseCallback;</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">class </span>ClientImpl;</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><span class="keyword">class </span>PulsarWrapper;</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"><a class="line" href="classpulsar_1_1_client.html">   49</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_client.html">Client</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="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">   58</a></span>    <a class="code hl_function" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">Client</a>(<span class="keyword">const</span> std::string&amp; serviceUrl);</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a148122b14f22844d359c35c084907962">   69</a></span>    <a class="code hl_function" href="classpulsar_1_1_client.html#a148122b14f22844d359c35c084907962">Client</a>(<span class="keyword">const</span> std::string&amp; serviceUrl, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; clien [...]
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52">   81</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52">createProducer</a>(<span class="keyword">const</span> std::string&amp; topic, <a class="code hl_class" href="class [...]
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05">   94</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05">createProducer</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> < [...]
+<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"><a class="line" href="classpulsar_1_1_client.html#a666be9ce0980aeda2921c2229c003db8">  104</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a666be9ce0980aeda2921c2229c003db8">createProducerAsync</a>(<span class="keyword">const</span> std::string&amp; topic, CreateProducerCallback callback);</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a46e87bd20edc2a00c492e2be2c43a644">  113</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a46e87bd20edc2a00c492e2be2c43a644">createProducerAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration [...]
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>                             CreateProducerCallback callback);</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab">  124</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab">subscribe</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::s [...]
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a">  134</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a">subscribe</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::s [...]
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>                     <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a534d1cc013112c4e9eeee037b42b4815">  146</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a534d1cc013112c4e9eeee037b42b4815">subscribeAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>                        SubscribeCallback callback);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a85d82595856f515b22acb623e84daa4b">  159</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a85d82595856f515b22acb623e84daa4b">subscribeAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>                        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, SubscribeCallback callback);</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471">  169</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471">subscribe</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword" [...]
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>                     <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<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#a9188d5fafbb23da16f859592316947e4">  180</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a9188d5fafbb23da16f859592316947e4">subscribe</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword" [...]
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>                     <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a33f76797dfbd57daf4c72f96c659fe77">  193</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a33f76797dfbd57daf4c72f96c659fe77">subscribeAsync</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>                        SubscribeCallback callback);</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#afcfcc1f9bcc63527063ae1b60a41ba8e">  206</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#afcfcc1f9bcc63527063ae1b60a41ba8e">subscribeAsync</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; topics, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>                        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, SubscribeCallback callback);</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.html#a086549ca0d057be1e9d00ca483995621">  212</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a086549ca0d057be1e9d00ca483995621">subscribeWithRegex</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">con [...]
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>                              <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span> </div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344">  219</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344">subscribeWithRegex</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">con [...]
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>                              <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a49a6024ae4ff44e1e02a59bc08d28c7a">  229</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a49a6024ae4ff44e1e02a59bc08d28c7a">subscribeWithRegexAsync</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>                                 SubscribeCallback callback);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#abef60cadedd17903a245dbaa8368381a">  242</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#abef60cadedd17903a245dbaa8368381a">subscribeWithRegexAsync</a>(<span class="keyword">const</span> std::string&amp; regexPattern, <span class="keyword">const</span> std::string&amp; subscriptionName,</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>                                 <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; conf, SubscribeCallback callback);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a">  274</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a">createReader</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a  [...]
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>                        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a>&amp; reader);</div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ab837056e2ea59c8c55d83d6451ee7b08">  303</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#ab837056e2ea59c8c55d83d6451ee7b08">createReaderAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html"> [...]
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>                           <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; conf, ReaderCallback callback);</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aafa5591b8fc3241e50c2b1f2e3bafe24">  318</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#aafa5591b8fc3241e50c2b1f2e3bafe24">createTableView</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span>  [...]
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span>                           <a class="code hl_class" href="classpulsar_1_1_table_view.html">TableView</a>&amp; tableView);</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#addf53e700657aeaf0bcaa8c5ddd89e84">  333</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#addf53e700657aeaf0bcaa8c5ddd89e84">createTableViewAsync</a>(<span class="keyword">const</span> std::string&amp; topic, <span class="keyword">const</span> <a class="code hl_struct" href="structpulsar_1_1_table_view_c [...]
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span>                              TableViewCallback callBack);</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657">  349</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657">getPartitionsForTopic</a>(<span class="keyword">const</span> std::string&amp; topic, std::vector&lt;std::string&gt [...]
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span> </div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a2c3746c12dd5a531efcf2e8af96a3337">  366</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#a2c3746c12dd5a531efcf2e8af96a3337">getPartitionsForTopicAsync</a>(<span class="keyword">const</span> std::string&amp; topic, GetPartitionsCallback callback);</div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span> </div>
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac">  372</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac">close</a>();</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span> </div>
+<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ad2701d78fca53d5261616ca53381241d">  383</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#ad2701d78fca53d5261616ca53381241d">closeAsync</a>(CloseCallback callback);</div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno">  384</span> </div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aecac8bf91b474339455fe0519f6ba71e">  391</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="l00392" name="l00392"></a><span class="lineno">  392</span> </div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc">  398</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc">getNumberOfProducers</a>();</div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">  405</a></span>    uint64_t <a class="code hl_function" href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">getNumberOfConsumers</a>();</div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span> </div>
+<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aa24ed12d3228c31c923e33fee1eb6f55">  414</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_client.html#aa24ed12d3228c31c923e33fee1eb6f55">getSchemaInfoAsync</a>(<span class="keyword">const</span> std::string&amp; topic, int64_t version,</div>
+<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span>                            std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp;)&gt; callback);</div>
+<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span> </div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span>    <a class="code hl_class" href="classpulsar_1_1_client.html">Client</a>(<span class="keyword">const</span> std::string&amp; serviceUrl, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; clientConfiguration,</div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span>           <span class="keywordtype">bool</span> poolConnections);</div>
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span>    <a class="code hl_class" href="classpulsar_1_1_client.html">Client</a>(<span class="keyword">const</span> std::shared_ptr&lt;ClientImpl&gt;);</div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span> </div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span>    std::shared_ptr&lt;ClientImpl&gt; impl_;</div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span>};</div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</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:29</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:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a086549ca0d057be1e9d00ca483995621"><div class="ttname"><a href="classpulsar_1_1_client.html#a086549ca0d057be1e9d00ca483995621">pulsar::Client::subscribeWithRegex</a></div><div class="ttdeci">Result subscribeWithRegex(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a11016481c032f7d07e3ab5be341c9344"><div class="ttname"><a href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344">pulsar::Client::subscribeWithRegex</a></div><div class="ttdeci">Result subscribeWithRegex(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a1134874e191f8bf395c020f1ed3b2423"><div class="ttname"><a href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">pulsar::Client::getNumberOfConsumers</a></div><div class="ttdeci">uint64_t getNumberOfConsumers()</div><div class="ttdoc">Get the number of alive consumers on the current client.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a11b3ca7d9174a0912bf51b742f7f825a"><div class="ttname"><a href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::string &amp;topic, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a148122b14f22844d359c35c084907962"><div class="ttname"><a href="classpulsar_1_1_client.html#a148122b14f22844d359c35c084907962">pulsar::Client::Client</a></div><div class="ttdeci">Client(const std::string &amp;serviceUrl, const ClientConfiguration &amp;clientConfiguration)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a208629aff52395ad0072622ae82f5657"><div class="ttname"><a href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657">pulsar::Client::getPartitionsForTopic</a></div><div class="ttdeci">Result getPartitionsForTopic(const std::string &amp;topic, std::vector&lt; std::string &gt; &amp;partitions)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a2c3746c12dd5a531efcf2e8af96a3337"><div class="ttname"><a href="classpulsar_1_1_client.html#a2c3746c12dd5a531efcf2e8af96a3337">pulsar::Client::getPartitionsForTopicAsync</a></div><div class="ttdeci">void getPartitionsForTopicAsync(const std::string &amp;topic, GetPartitionsCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a33f76797dfbd57daf4c72f96c659fe77"><div class="ttname"><a href="classpulsar_1_1_client.html#a33f76797dfbd57daf4c72f96c659fe77">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, SubscribeCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a46e87bd20edc2a00c492e2be2c43a644"><div class="ttname"><a href="classpulsar_1_1_client.html#a46e87bd20edc2a00c492e2be2c43a644">pulsar::Client::createProducerAsync</a></div><div class="ttdeci">void createProducerAsync(const std::string &amp;topic, ProducerConfiguration conf, CreateProducerCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a49a6024ae4ff44e1e02a59bc08d28c7a"><div class="ttname"><a href="classpulsar_1_1_client.html#a49a6024ae4ff44e1e02a59bc08d28c7a">pulsar::Client::subscribeWithRegexAsync</a></div><div class="ttdeci">void subscribeWithRegexAsync(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, SubscribeCallback 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_a534d1cc013112c4e9eeee037b42b4815"><div class="ttname"><a href="classpulsar_1_1_client.html#a534d1cc013112c4e9eeee037b42b4815">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::string &amp;topic, const std::string &amp;subscriptionName, SubscribeCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a666be9ce0980aeda2921c2229c003db8"><div class="ttname"><a href="classpulsar_1_1_client.html#a666be9ce0980aeda2921c2229c003db8">pulsar::Client::createProducerAsync</a></div><div class="ttdeci">void createProducerAsync(const std::string &amp;topic, CreateProducerCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a85d82595856f515b22acb623e84daa4b"><div class="ttname"><a href="classpulsar_1_1_client.html#a85d82595856f515b22acb623e84daa4b">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::string &amp;topic, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, SubscribeCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a9188d5fafbb23da16f859592316947e4"><div class="ttname"><a href="classpulsar_1_1_client.html#a9188d5fafbb23da16f859592316947e4">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a96f49cc0ce27bfe68d75224991f0ba52"><div class="ttname"><a href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52">pulsar::Client::createProducer</a></div><div class="ttdeci">Result createProducer(const std::string &amp;topic, Producer &amp;producer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_a9f32b4d1101f8f2fb5029013c87779ab"><div class="ttname"><a href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::string &amp;topic, const std::string &amp;subscriptionName, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aa24ed12d3228c31c923e33fee1eb6f55"><div class="ttname"><a href="classpulsar_1_1_client.html#aa24ed12d3228c31c923e33fee1eb6f55">pulsar::Client::getSchemaInfoAsync</a></div><div class="ttdeci">void getSchemaInfoAsync(const std::string &amp;topic, int64_t version, std::function&lt; void(Result, const SchemaInfo &amp;)&gt; callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aae7658dee80ad23b418cfb7e12f5df05"><div class="ttname"><a href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05">pulsar::Client::createProducer</a></div><div class="ttdeci">Result createProducer(const std::string &amp;topic, const ProducerConfiguration &amp;conf, Producer &amp;producer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aafa5591b8fc3241e50c2b1f2e3bafe24"><div class="ttname"><a href="classpulsar_1_1_client.html#aafa5591b8fc3241e50c2b1f2e3bafe24">pulsar::Client::createTableView</a></div><div class="ttdeci">Result createTableView(const std::string &amp;topic, const TableViewConfiguration &amp;conf, TableView &amp;tableView)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_ab837056e2ea59c8c55d83d6451ee7b08"><div class="ttname"><a href="classpulsar_1_1_client.html#ab837056e2ea59c8c55d83d6451ee7b08">pulsar::Client::createReaderAsync</a></div><div class="ttdeci">void createReaderAsync(const std::string &amp;topic, const MessageId &amp;startMessageId, const ReaderConfiguration &amp;conf, ReaderCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_abef60cadedd17903a245dbaa8368381a"><div class="ttname"><a href="classpulsar_1_1_client.html#abef60cadedd17903a245dbaa8368381a">pulsar::Client::subscribeWithRegexAsync</a></div><div class="ttdeci">void subscribeWithRegexAsync(const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, SubscribeCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_ac3f0a65b099f88781548d4fad41685ac"><div class="ttname"><a href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac">pulsar::Client::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_acab90af5d0542803bc1d10e68d27414f"><div class="ttname"><a href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f">pulsar::Client::Client</a></div><div class="ttdeci">Client(const std::string &amp;serviceUrl)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_ad2701d78fca53d5261616ca53381241d"><div class="ttname"><a href="classpulsar_1_1_client.html#ad2701d78fca53d5261616ca53381241d">pulsar::Client::closeAsync</a></div><div class="ttdeci">void closeAsync(CloseCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_ad2f6404e06200714e1fe82419b7c963a"><div class="ttname"><a href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a">pulsar::Client::createReader</a></div><div class="ttdeci">Result createReader(const std::string &amp;topic, const MessageId &amp;startMessageId, const ReaderConfiguration &amp;conf, Reader &amp;reader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_addf53e700657aeaf0bcaa8c5ddd89e84"><div class="ttname"><a href="classpulsar_1_1_client.html#addf53e700657aeaf0bcaa8c5ddd89e84">pulsar::Client::createTableViewAsync</a></div><div class="ttdeci">void createTableViewAsync(const std::string &amp;topic, const TableViewConfiguration &amp;conf, TableViewCallback callBack)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aea2d7918286ecd127751d06e191a5471"><div class="ttname"><a href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471">pulsar::Client::subscribe</a></div><div class="ttdeci">Result subscribe(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, Consumer &amp;consumer)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_aecac8bf91b474339455fe0519f6ba71e"><div class="ttname"><a href="classpulsar_1_1_client.html#aecac8bf91b474339455fe0519f6ba71e">pulsar::Client::shutdown</a></div><div class="ttdeci">void shutdown()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_html_afcfcc1f9bcc63527063ae1b60a41ba8e"><div class="ttname"><a href="classpulsar_1_1_client.html#afcfcc1f9bcc63527063ae1b60a41ba8e">pulsar::Client::subscribeAsync</a></div><div class="ttdeci">void subscribeAsync(const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const ConsumerConfiguration &amp;conf, SubscribeCallback 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:45</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:146</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_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+<div class="ttc" id="astructpulsar_1_1_table_view_configuration_html"><div class="ttname"><a href="structpulsar_1_1_table_view_configuration.html">pulsar::TableViewConfiguration</a></div><div class="ttdef"><b>Definition</b> TableViewConfiguration.h:27</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_client_configuration_8h_source.html b/static/api/cpp/3.3.x/_client_configuration_8h_source.html
new file mode 100644
index 00000000000..84ecdbc74e5
--- /dev/null
+++ b/static/api/cpp/3.3.x/_client_configuration_8h_source.html
@@ -0,0 +1,271 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ClientConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CLIENTCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CLIENTCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Authentication.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Logger.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="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">struct </span>ClientConfigurationImpl;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html">   29</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>();</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">~ClientConfiguration</a>();</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ace74b6344c19c7039087be76d86528f6">   42</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ace74b6344c19c7039087be76d86528f6">setMemoryLimit</a>(uint64_t memoryLimitBytes);</div>
+<div class="line"><a id="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_client_configuration.html#aa09cf22a285653ce9a551e85342dff49">   47</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="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">   54</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">setAuth</a>(<span class="keyword">const</span> AuthenticationPtr&amp; authentication);</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a2973aed4fed3479aeceef9e97d26ef63">   59</a></span>    <a class="code hl_class" href="classpulsar_1_1_authentication.html">Authentication</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a2973aed4fed3479aeceef9e97d26ef63">getAuth</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="l00067" name="l00067"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ac5659a9c3232ab07ed1e81dd406187c1">   67</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ac5659a9c3232ab07ed1e81dd406187c1">setOperationTimeoutSeconds</a>(<span class="keywordtype">int</span> timeout);</div>
+<div class="line"><a id="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="classpulsar_1_1_client_configuration.html#a842576f768383a2434959ece2a039222">   72</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="l00073" name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a7e83eb6526e98259023e93f0c89c1a61">   80</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a7e83eb6526e98259023e93f0c89c1a61">setIOThreads</a>(<span class="keywordtype">int</span> threads);</div>
+<div class="line"><a id="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_client_configuration.html#a961eff6439a7aab387dca6a486f8535b">   85</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="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a5c0d6ddb5e00afe43067505bd46a6a9d">   97</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a5c0d6ddb5e00afe43067505bd46a6a9d">setMessageListenerThreads</a>(<span class="keywordtype">int</span> threads);</div>
+<div class="line"><a id="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="classpulsar_1_1_client_configuration.html#a95829d66c50c4226d79cc2fa835ba59a">  102</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="l00103" name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9ae54146fe16f423faee853705043a0d">  112</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9ae54146fe16f423faee853705043a0d">setConcurrentLookupRequest</a>(<span class="keywordtype">int</span> concurrentLookupReq [...]
+<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_client_configuration.html#aacc5ce498af5ab4535ba3d5a39684b60">  117</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="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#abcf3777ad94bee91b2f099a2f23e2033">  125</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#abcf3777ad94bee91b2f099a2f23e2033">setMaxLookupRedirects</a>(<span class="keywordtype">int</span> maxLookupRedirects);</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ac624ce5e221c79282392cf63f91b7f5d">  130</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="l00131" name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#aeb336cdb14093bb3626496a631e29441">  138</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#aeb336cdb14093bb3626496a631e29441">setInitialBackoffIntervalMs</a>(<span class="keywordtype">int</span> initialBackoffInte [...]
+<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_client_configuration.html#a0de6e5a822b7a3c6ab3f66f607e6891d">  143</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="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a40d8e808b298b797c38bc2e57df43aa3">  151</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a40d8e808b298b797c38bc2e57df43aa3">setMaxBackoffIntervalMs</a>(<span class="keywordtype">int</span> maxBackoffIntervalMs);</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a7505a6277e8af2ee81468bdc349283ee">  156</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="l00157" name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a1bf72e7f2e263ed35ff631a379e7e562">  169</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a1bf72e7f2e263ed35ff631a379e7e562">setLogger</a>(<a class="code hl_class" href="classpulsar_1_1_logger_factory.html">Logge [...]
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ad2cd7f96ed00b4a398329cee24aa293c">  178</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#ad2cd7f96ed00b4a398329cee24aa293c">setUseTls</a>(<span class="keywordtype">bool</span> useTls);</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a564ce9a6a43fe2db6ac11cc7821b8c27">  183</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a564ce9a6a43fe2db6ac11cc7821b8c27">isUseTls</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">  190</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">setTlsPrivateKeyFilePath</a>(<span class="keyword">const</span> std::string&amp; tlsKey [...]
+<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_client_configuration.html#a961555e096d6c7dfd599454b335069ca">  195</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a961555e096d6c7dfd599454b335069ca">getTlsPrivateKeyFilePath</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">  202</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">setTlsCertificateFilePath</a>(<span class="keyword">const</span> std::string&amp; tlsCe [...]
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a499d79bdc68fb5b80709b3a794f682f5">  207</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a499d79bdc68fb5b80709b3a794f682f5">getTlsCertificateFilePath</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">  214</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">setTlsTrustCertsFilePath</a>(<span class="keyword">const</span> std::string&amp; tlsTru [...]
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a2774b2a76b3ed18dc0429f5a6920d1e8">  219</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a2774b2a76b3ed18dc0429f5a6920d1e8">getTlsTrustCertsFilePath</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span> </div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9c6de9ae9ffe25f93e45d52af33786c7">  228</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a9c6de9ae9ffe25f93e45d52af33786c7">setTlsAllowInsecureConnection</a>(<span class="keywordtype">bool</span> allowInsecure);</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a134473221c9e91f0c558a5c291aa9d5e">  233</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="l00234" name="l00234"></a><span class="lineno">  234</span> </div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a10233b86c33c352f79eb0dabf954809b">  248</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a10233b86c33c352f79eb0dabf954809b">setValidateHostName</a>(<span class="keywordtype">bool</span> validateHostName);</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#ae5646c0a8ffd63e9fbcb3a84704d3a10">  253</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="l00254" name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">  260</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">setListenerName</a>(<span class="keyword">const</span> std::string&amp; listenerName);</div>
+<div class="line"><a id="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_configuration.html#a290b94553eca37e1dddfc2fd48a0b704">  265</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a290b94553eca37e1dddfc2fd48a0b704">getListenerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span> </div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a0c7c63f49cd66554563c3f5e133c4fc6">  274</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a0c7c63f49cd66554563c3f5e133c4fc6">setStatsIntervalInSeconds</a>(<span class="keyword">const</span> <span class="keywordty [...]
+<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_client_configuration.html#a3e86a2ec91591eea6faee445652f6c8b">  279</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a3e86a2ec91591eea6faee445652f6c8b">getStatsIntervalInSeconds</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a5879c3ecf00ee0d1d85a1eea3977f6ba">  290</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a5879c3ecf00ee0d1d85a1eea3977f6ba">setPartititionsUpdateInterval</a>(<span class="keywordtype">unsigned</span> <span class [...]
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a9b1c684c29b2c484853aaa025aa441cb">  295</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="l00296" name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#a6d12355701aed4526560e5754312da53">  306</a></span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_client_configuration.html#a6d12355701aed4526560e5754312da53">setConnectionTimeout</a>(<span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span> </div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client_configuration.html#abcf01cb88d07e83c1b43abe14854dac2">  311</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="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientImpl;</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</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>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>    <span class="keyword">const</span> AuthenticationPtr&amp; getAuthPtr() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>    std::shared_ptr&lt;ClientConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>    <span class="comment">// By default, when the client connects to the broker, a version string like &quot;Pulsar-CPP-v&lt;x.y.z&gt;&quot; will be</span></div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</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="l00322" name="l00322"></a><span class="lineno">  322</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>    <span class="comment">// This method provides a way to add more description to a specific `Client` instance. If it&#39;s configured,</span></div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>    <span class="comment">// the description will be appended to the original client version string, with &#39;-&#39; as the separator.</span></div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span>    <span class="comment">// For example, if the client version is 3.2.0, and the description is &quot;forked&quot;, the final client version</span></div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span>    <span class="comment">// string will be &quot;Pulsar-CPP-v3.2.0-forked&quot;.</span></div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</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="l00330" name="l00330"></a><span class="lineno">  330</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span>    <span class="comment">// For example, you can add a PulsarWrapper class like:</span></div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span>    <span class="comment">// ```c++</span></div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span>    <span class="comment">// namespace pulsar {</span></div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span>    <span class="comment">// class PulsarWrapper {</span></div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno">  336</span>    <span class="comment">//     static ClientConfiguration clientConfig() {</span></div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>    <span class="comment">//         ClientConfiguration conf;</span></div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>    <span class="comment">//         conf.setDescription(&quot;forked&quot;);</span></div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span>    <span class="comment">//         return conf;</span></div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>    <span class="comment">//     }</span></div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>    <span class="comment">// };</span></div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>    <span class="comment">// }</span></div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>    <span class="comment">// ```</span></div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>    <span class="comment">// Then, call the method before passing the `conf` to the constructor of `Client`:</span></div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span>    <span class="comment">//</span></div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span>    <span class="comment">// ```c++</span></div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span>    <span class="comment">// auto conf = PulsarWrapper::clientConfig();</span></div>
+<div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span>    <span class="comment">// // Set other attributes of `conf` here...</span></div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span>    <span class="comment">// Client client{&quot;pulsar://localhost:6650&quot;, conf);</span></div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span>    <span class="comment">// ```</span></div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span>    <a class="code hl_class" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a>&amp; setDescription(<span class="keyword">const</span> std::string&amp; description);</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span> </div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>    <span class="keyword">const</span> std::string&amp; getDescription() const noexcept;</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span>};</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</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_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_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:29</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a0c7c63f49cd66554563c3f5e133c4fc6"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a0c7c63f49cd66554563c3f5e133c4fc6">pulsar::ClientConfiguration::setStatsIntervalInSeconds</a></div><div class="ttdeci">ClientConfiguration &amp; setStatsIntervalInSeconds(const unsigned int &amp;)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a0de6e5a822b7a3c6ab3f66f607e6891d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a0de6e5a822b7a3c6ab3f66f607e6891d">pulsar::ClientConfiguration::getInitialBackoffIntervalMs</a></div><div class="ttdeci">int getInitialBackoffIntervalMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a10233b86c33c352f79eb0dabf954809b"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a10233b86c33c352f79eb0dabf954809b">pulsar::ClientConfiguration::setValidateHostName</a></div><div class="ttdeci">ClientConfiguration &amp; setValidateHostName(bool validateHostName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a134473221c9e91f0c558a5c291aa9d5e"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a134473221c9e91f0c558a5c291aa9d5e">pulsar::ClientConfiguration::isTlsAllowInsecureConnection</a></div><div class="ttdeci">bool isTlsAllowInsecureConnection() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a1bf72e7f2e263ed35ff631a379e7e562"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a1bf72e7f2e263ed35ff631a379e7e562">pulsar::ClientConfiguration::setLogger</a></div><div class="ttdeci">ClientConfiguration &amp; setLogger(LoggerFactory *loggerFactory)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a2774b2a76b3ed18dc0429f5a6920d1e8"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a2774b2a76b3ed18dc0429f5a6920d1e8">pulsar::ClientConfiguration::getTlsTrustCertsFilePath</a></div><div class="ttdeci">const std::string &amp; getTlsTrustCertsFilePath() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a283f6a724a4fdd8fa1def661e253eafb"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a283f6a724a4fdd8fa1def661e253eafb">pulsar::ClientConfiguration::setAuth</a></div><div class="ttdeci">ClientConfiguration &amp; setAuth(const AuthenticationPtr &amp;authentication)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a290b94553eca37e1dddfc2fd48a0b704"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a290b94553eca37e1dddfc2fd48a0b704">pulsar::ClientConfiguration::getListenerName</a></div><div class="ttdeci">const std::string &amp; getListenerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a2973aed4fed3479aeceef9e97d26ef63"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a2973aed4fed3479aeceef9e97d26ef63">pulsar::ClientConfiguration::getAuth</a></div><div class="ttdeci">Authentication &amp; getAuth() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a3e86a2ec91591eea6faee445652f6c8b"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a3e86a2ec91591eea6faee445652f6c8b">pulsar::ClientConfiguration::getStatsIntervalInSeconds</a></div><div class="ttdeci">const unsigned int &amp; getStatsIntervalInSeconds() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a40d8e808b298b797c38bc2e57df43aa3"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a40d8e808b298b797c38bc2e57df43aa3">pulsar::ClientConfiguration::setMaxBackoffIntervalMs</a></div><div class="ttdeci">ClientConfiguration &amp; setMaxBackoffIntervalMs(int maxBackoffIntervalMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a499d79bdc68fb5b80709b3a794f682f5"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a499d79bdc68fb5b80709b3a794f682f5">pulsar::ClientConfiguration::getTlsCertificateFilePath</a></div><div class="ttdeci">const std::string &amp; getTlsCertificateFilePath() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a564ce9a6a43fe2db6ac11cc7821b8c27"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a564ce9a6a43fe2db6ac11cc7821b8c27">pulsar::ClientConfiguration::isUseTls</a></div><div class="ttdeci">bool isUseTls() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a5879c3ecf00ee0d1d85a1eea3977f6ba"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a5879c3ecf00ee0d1d85a1eea3977f6ba">pulsar::ClientConfiguration::setPartititionsUpdateInterval</a></div><div class="ttdeci">ClientConfiguration &amp; setPartititionsUpdateInterval(unsigned int intervalInSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a5c0d6ddb5e00afe43067505bd46a6a9d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a5c0d6ddb5e00afe43067505bd46a6a9d">pulsar::ClientConfiguration::setMessageListenerThreads</a></div><div class="ttdeci">ClientConfiguration &amp; setMessageListenerThreads(int threads)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a65e807a8eb8d68b27ba464c3c026d5da"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a65e807a8eb8d68b27ba464c3c026d5da">pulsar::ClientConfiguration::setTlsTrustCertsFilePath</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsTrustCertsFilePath(const std::string &amp;tlsTrustCertsFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a6d12355701aed4526560e5754312da53"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a6d12355701aed4526560e5754312da53">pulsar::ClientConfiguration::setConnectionTimeout</a></div><div class="ttdeci">ClientConfiguration &amp; setConnectionTimeout(int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a7505a6277e8af2ee81468bdc349283ee"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a7505a6277e8af2ee81468bdc349283ee">pulsar::ClientConfiguration::getMaxBackoffIntervalMs</a></div><div class="ttdeci">int getMaxBackoffIntervalMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a7e83eb6526e98259023e93f0c89c1a61"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a7e83eb6526e98259023e93f0c89c1a61">pulsar::ClientConfiguration::setIOThreads</a></div><div class="ttdeci">ClientConfiguration &amp; setIOThreads(int threads)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a842576f768383a2434959ece2a039222"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a842576f768383a2434959ece2a039222">pulsar::ClientConfiguration::getOperationTimeoutSeconds</a></div><div class="ttdeci">int getOperationTimeoutSeconds() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9040f07538e832ea521cf37b1d00b5be"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9040f07538e832ea521cf37b1d00b5be">pulsar::ClientConfiguration::setTlsCertificateFilePath</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsCertificateFilePath(const std::string &amp;tlsCertificateFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a95829d66c50c4226d79cc2fa835ba59a"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a95829d66c50c4226d79cc2fa835ba59a">pulsar::ClientConfiguration::getMessageListenerThreads</a></div><div class="ttdeci">int getMessageListenerThreads() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a961555e096d6c7dfd599454b335069ca"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a961555e096d6c7dfd599454b335069ca">pulsar::ClientConfiguration::getTlsPrivateKeyFilePath</a></div><div class="ttdeci">const std::string &amp; getTlsPrivateKeyFilePath() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a961eff6439a7aab387dca6a486f8535b"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a961eff6439a7aab387dca6a486f8535b">pulsar::ClientConfiguration::getIOThreads</a></div><div class="ttdeci">int getIOThreads() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9a3462c57a542998b6324ba4144790c0"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9a3462c57a542998b6324ba4144790c0">pulsar::ClientConfiguration::setTlsPrivateKeyFilePath</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsPrivateKeyFilePath(const std::string &amp;tlsKeyFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9ae54146fe16f423faee853705043a0d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9ae54146fe16f423faee853705043a0d">pulsar::ClientConfiguration::setConcurrentLookupRequest</a></div><div class="ttdeci">ClientConfiguration &amp; setConcurrentLookupRequest(int concurrentLookupRequest)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9b1c684c29b2c484853aaa025aa441cb"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9b1c684c29b2c484853aaa025aa441cb">pulsar::ClientConfiguration::getPartitionsUpdateInterval</a></div><div class="ttdeci">unsigned int getPartitionsUpdateInterval() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_a9c6de9ae9ffe25f93e45d52af33786c7"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#a9c6de9ae9ffe25f93e45d52af33786c7">pulsar::ClientConfiguration::setTlsAllowInsecureConnection</a></div><div class="ttdeci">ClientConfiguration &amp; setTlsAllowInsecureConnection(bool allowInsecure)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aa09cf22a285653ce9a551e85342dff49"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aa09cf22a285653ce9a551e85342dff49">pulsar::ClientConfiguration::getMemoryLimit</a></div><div class="ttdeci">uint64_t getMemoryLimit() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aacc5ce498af5ab4535ba3d5a39684b60"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aacc5ce498af5ab4535ba3d5a39684b60">pulsar::ClientConfiguration::getConcurrentLookupRequest</a></div><div class="ttdeci">int getConcurrentLookupRequest() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_abcf01cb88d07e83c1b43abe14854dac2"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#abcf01cb88d07e83c1b43abe14854dac2">pulsar::ClientConfiguration::getConnectionTimeout</a></div><div class="ttdeci">int getConnectionTimeout() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_abcf3777ad94bee91b2f099a2f23e2033"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#abcf3777ad94bee91b2f099a2f23e2033">pulsar::ClientConfiguration::setMaxLookupRedirects</a></div><div class="ttdeci">ClientConfiguration &amp; setMaxLookupRedirects(int maxLookupRedirects)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ac5659a9c3232ab07ed1e81dd406187c1"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ac5659a9c3232ab07ed1e81dd406187c1">pulsar::ClientConfiguration::setOperationTimeoutSeconds</a></div><div class="ttdeci">ClientConfiguration &amp; setOperationTimeoutSeconds(int timeout)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ac624ce5e221c79282392cf63f91b7f5d"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ac624ce5e221c79282392cf63f91b7f5d">pulsar::ClientConfiguration::getMaxLookupRedirects</a></div><div class="ttdeci">int getMaxLookupRedirects() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_acb0c818a17629bb78d90bf8d174320fe"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#acb0c818a17629bb78d90bf8d174320fe">pulsar::ClientConfiguration::setListenerName</a></div><div class="ttdeci">ClientConfiguration &amp; setListenerName(const std::string &amp;listenerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ace74b6344c19c7039087be76d86528f6"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ace74b6344c19c7039087be76d86528f6">pulsar::ClientConfiguration::setMemoryLimit</a></div><div class="ttdeci">ClientConfiguration &amp; setMemoryLimit(uint64_t memoryLimitBytes)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ad2cd7f96ed00b4a398329cee24aa293c"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ad2cd7f96ed00b4a398329cee24aa293c">pulsar::ClientConfiguration::setUseTls</a></div><div class="ttdeci">ClientConfiguration &amp; setUseTls(bool useTls)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_ae5646c0a8ffd63e9fbcb3a84704d3a10"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#ae5646c0a8ffd63e9fbcb3a84704d3a10">pulsar::ClientConfiguration::isValidateHostName</a></div><div class="ttdeci">bool isValidateHostName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_client_configuration_html_aeb336cdb14093bb3626496a631e29441"><div class="ttname"><a href="classpulsar_1_1_client_configuration.html#aeb336cdb14093bb3626496a631e29441">pulsar::ClientConfiguration::setInitialBackoffIntervalMs</a></div><div class="ttdeci">ClientConfiguration &amp; setInitialBackoffIntervalMs(int initialBackoffIntervalMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_compression_type_8h_source.html b/static/api/cpp/3.3.x/_compression_type_8h_source.html
new file mode 100644
index 00000000000..a1b7454c0a0
--- /dev/null
+++ b/static/api/cpp/3.3.x/_compression_type_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="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><span class="keyword">enum</span> CompressionType</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>    CompressionNone = 0,</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>    CompressionLZ4 = 1,</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    CompressionZLib = 2,</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    CompressionZSTD = 3,</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>    CompressionSNAPPY = 4</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> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_COMPRESSIONTYPE_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_console_logger_factory_8h_source.html b/static/api/cpp/3.3.x/_console_logger_factory_8h_source.html
new file mode 100644
index 00000000000..1ef312a54f0
--- /dev/null
+++ b/static/api/cpp/3.3.x/_console_logger_factory_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Logger.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="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>ConsoleLoggerFactoryImpl;</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_console_logger_factory.html">   49</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_console_logger_factory.html">ConsoleLoggerFactory</a> : <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="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">explicit</span> <a class="code hl_class" href="classpulsar_1_1_console_logger_factory.html">ConsoleLoggerFactory</a>(Logger::Level level = Logger::LEVEL_INFO);</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>    <a class="code hl_class" href="classpulsar_1_1_console_logger_factory.html">~ConsoleLoggerFactory</a>();</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"><a class="line" href="classpulsar_1_1_console_logger_factory.html#a4592e252660038c303b4e71a44da9275">   55</a></span>    <a class="code hl_class" href="classpulsar_1_1_logger.html">Logger</a>* <a class="code hl_function" href="classpulsar_1_1_console_logger_factory.html#a4592e252660038c303b4e71a44da9275">getLogger</a>(<span class="keyword">const</span> std::string&amp; fileName) <span class="keyword">override</span>;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>    std::unique_ptr&lt;ConsoleLoggerFactoryImpl&gt; impl_;</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> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_console_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_console_logger_factory.html">pulsar::ConsoleLoggerFactory</a></div><div class="ttdef"><b>Definition</b> ConsoleLoggerFactory.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_console_logger_factory_html_a4592e252660038c303b4e71a44da9275"><div class="ttname"><a href="classpulsar_1_1_console_logger_factory.html#a4592e252660038c303b4e71a44da9275">pulsar::ConsoleLoggerFactory::getLogger</a></div><div class="ttdeci">Logger * getLogger(const std::string &amp;fileName) override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html"><div class="ttname"><a href="classpulsar_1_1_logger.html">pulsar::Logger</a></div><div class="ttdef"><b>Definition</b> Logger.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_consumer_8h_source.html b/static/api/cpp/3.3.x/_consumer_8h_source.html
new file mode 100644
index 00000000000..64138f4f52f
--- /dev/null
+++ b/static/api/cpp/3.3.x/_consumer_8h_source.html
@@ -0,0 +1,260 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Consumer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef CONSUMER_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define CONSUMER_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/BrokerConsumerStats.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ConsumerConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/TypedMessage.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>ConsumerImplBase;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::shared_ptr&lt;ConsumerImplBase&gt; ConsumerImplBasePtr;</div>
+<div class="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_class" href="classpulsar_1_1_consumer.html">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_class" href="classpulsar_1_1_consumer.html">~Consumer</a>() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ad55d95cd75501562d8ae6d83935d5977">   48</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer.html#ad55d95cd75501562d8ae6d83935d5977">getTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#af6049caaf3e1f8bc91d4dc52b02ab7d1">   53</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer.html#af6049caaf3e1f8bc91d4dc52b02ab7d1">getSubscriptionName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a542ca0a9473a03ccf8bd8aeed24de490">   68</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a542ca0a9473a03ccf8bd8aeed24de490">unsubscribe</a>();</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a8691920cae838418f33f13690a72771d">   81</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a8691920cae838418f33f13690a72771d">unsubscribeAsync</a>(<a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> callback);</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">   93</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg);</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> receive(<a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp; msg, <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>        <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> rawMsg;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>        <span class="keyword">auto</span> result = receive(rawMsg);</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>        msg = <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{rawMsg, decoder};</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>        <span class="keywordflow">return</span> result;</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> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ace9475b70f37c91df5b442f41058370e">  111</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#ace9475b70f37c91df5b442f41058370e">receive</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg, <span class="ke [...]
+<div class="line"><a id="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">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> receive(<a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp; msg, <span class="keywordtype">int</span> timeoutMs, <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>        <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> rawMsg;</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>        <span class="keyword">auto</span> result = receive(rawMsg, timeoutMs);</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>        msg = <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{rawMsg, decoder};</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>        <span class="keywordflow">return</span> result;</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> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a0189416fb8672b23919276cc9f1bba5d">  132</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a0189416fb8672b23919276cc9f1bba5d">receiveAsync</a>(ReceiveCallback callback);</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keywordtype">void</span> receiveAsync(std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp;)&gt; callback,</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>                      <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        receiveAsync([callback, decoder](<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg) {</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>            callback(result, <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{msg, decoder});</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>        });</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="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a49c846a386d778df94a1439982be5cbd">  152</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00153" name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ac403fe5941453dcfc41cc01055bca16e">  165</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#ac403fe5941453dcfc41cc01055bca16e">batchReceiveAsync</a>(BatchReceiveCallback callback);</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span> </div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3c3eb5056f228d281798f9ea75f52af9">  178</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00179" name="l00179"></a><span class="lineno">  179</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#aed10e043835e50d8129e6adecd91da72">  190</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a57fd2c53a44ea53262742d90ff11e0fd">  196</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a57fd2c53a44ea53262742d90ff11e0fd">acknowledge</a>(<span class="keyword">const</span> MessageIdList&amp; messageIdList);</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a867bebab981d5aa2f74217308aa2353c">  207</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a867bebab981d5aa2f74217308aa2353c">acknowledgeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message, <a class="code hl_typedef" href=" [...]
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span> </div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3a08b7cdcc9a1733ce7066173bfcdc28">  218</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a3a08b7cdcc9a1733ce7066173bfcdc28">acknowledgeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, <a class="code hl_typedef" [...]
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span> </div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a74283a098beeb002e15a1dbba9fcff13">  226</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a74283a098beeb002e15a1dbba9fcff13">acknowledgeAsync</a>(<span class="keyword">const</span> MessageIdList&amp; messageIdList, <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4 [...]
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3eb0b0db2da0628da15d3f242e254f6d">  245</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00246" name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a79558de7435fd0b6ca0bde84f3061822">  263</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00264" name="l00264"></a><span class="lineno">  264</span> </div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a6ad164b1ab4449b17bce764224e92960">  275</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a6ad164b1ab4449b17bce764224e92960">acknowledgeCumulativeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message, <a class="code hl_typed [...]
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span> </div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a5d4cf148f372618961fd3411792a5cd7">  287</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a5d4cf148f372618961fd3411792a5cd7">acknowledgeCumulativeAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, <a class="code h [...]
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3cd227d9be2ae090c3a55bcdfff1df69">  319</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a3cd227d9be2ae090c3a55bcdfff1df69">negativeAcknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message);</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#afd631d1c357bc0284afe3e0cd2acbd6e">  351</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#afd631d1c357bc0284afe3e0cd2acbd6e">negativeAcknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a8b01803221c283e4df21715aeb024b84">  356</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a8b01803221c283e4df21715aeb024b84">close</a>();</div>
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a1b4539f46eb42170a550d6cd9076d8d7">  362</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a1b4539f46eb42170a550d6cd9076d8d7">closeAsync</a>(<a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> callback);</div>
+<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span> </div>
+<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a7370b7a19a08fdff5b044e74ad8bd679">  367</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a7370b7a19a08fdff5b044e74ad8bd679">pauseMessageListener</a>();</div>
+<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span> </div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a02a9a412f1aa7f1ec8dc0c0134315b66">  373</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a02a9a412f1aa7f1ec8dc0c0134315b66">resumeMessageListener</a>();</div>
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span> </div>
+<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a3d60ee12b0e9766d60c3a8e08a61287a">  384</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="l00385" name="l00385"></a><span class="lineno">  385</span> </div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a617639e11e05ecba3d013d831578d19d">  398</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00399" name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a01e55f7906b6922fa069d84f5459af4b">  411</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a01e55f7906b6922fa069d84f5459af4b">getBrokerConsumerStatsAsync</a>(BrokerConsumerStatsCallback callback);</div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a45800c18df817caabe6cd9c21e7d72b3">  423</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00424" name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#ae6835e612b61795a13eff5fd2da85a0e">  431</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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="l00432" name="l00432"></a><span class="lineno">  432</span> </div>
+<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#af1c892616483868ce5e30be46e7a40bf">  443</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#af1c892616483868ce5e30be46e7a40bf">seekAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; message [...]
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno">  444</span> </div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a01761bcf98436600d5f4d461582db94f">  451</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#a01761bcf98436600d5f4d461582db94f">seekAsync</a>(uint64_t timestamp, <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</ [...]
+<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span> </div>
+<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#a95a69d39ec2c8714b6ffce0f6ab74a55">  456</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="l00457" name="l00457"></a><span class="lineno">  457</span> </div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#afbd9e4f5b33b5b10a32866d3485cbeb5">  462</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer.html#afbd9e4f5b33b5b10a32866d3485cbeb5">getLastMessageIdAsync</a>(GetLastMessageIdCallback callback);</div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer.html#af60a7e87b76e5c69ee0e14f6ec902908">  467</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_consumer.html#af60a7e87b76e5c69ee0e14f6ec902908">getLastMessageId</a>(<a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messag [...]
+<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span> </div>
+<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span>    ConsumerImplBasePtr impl_;</div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span>    <span class="keyword">explicit</span> <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>(ConsumerImplBasePtr);</div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  472</span> </div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MultiTopicsConsumerImpl;</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ClientImpl;</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>ConsumerTest;</div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span>};</div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  480</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span> </div>
+<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</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"><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_html_a01761bcf98436600d5f4d461582db94f"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a01761bcf98436600d5f4d461582db94f">pulsar::Consumer::seekAsync</a></div><div class="ttdeci">virtual void seekAsync(uint64_t timestamp, ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a0189416fb8672b23919276cc9f1bba5d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a0189416fb8672b23919276cc9f1bba5d">pulsar::Consumer::receiveAsync</a></div><div class="ttdeci">void receiveAsync(ReceiveCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a01e55f7906b6922fa069d84f5459af4b"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a01e55f7906b6922fa069d84f5459af4b">pulsar::Consumer::getBrokerConsumerStatsAsync</a></div><div class="ttdeci">void getBrokerConsumerStatsAsync(BrokerConsumerStatsCallback callback)</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_a1b4539f46eb42170a550d6cd9076d8d7"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a1b4539f46eb42170a550d6cd9076d8d7">pulsar::Consumer::closeAsync</a></div><div class="ttdeci">void closeAsync(ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3a08b7cdcc9a1733ce7066173bfcdc28"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3a08b7cdcc9a1733ce7066173bfcdc28">pulsar::Consumer::acknowledgeAsync</a></div><div class="ttdeci">void acknowledgeAsync(const MessageId &amp;messageId, 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 &amp;message)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3cd227d9be2ae090c3a55bcdfff1df69"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3cd227d9be2ae090c3a55bcdfff1df69">pulsar::Consumer::negativeAcknowledge</a></div><div class="ttdeci">void negativeAcknowledge(const Message &amp;message)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3d60ee12b0e9766d60c3a8e08a61287a"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3d60ee12b0e9766d60c3a8e08a61287a">pulsar::Consumer::redeliverUnacknowledgedMessages</a></div><div class="ttdeci">void redeliverUnacknowledgedMessages()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a3eb0b0db2da0628da15d3f242e254f6d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a3eb0b0db2da0628da15d3f242e254f6d">pulsar::Consumer::acknowledgeCumulative</a></div><div class="ttdeci">Result acknowledgeCumulative(const Message &amp;message)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a45800c18df817caabe6cd9c21e7d72b3"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a45800c18df817caabe6cd9c21e7d72b3">pulsar::Consumer::seek</a></div><div class="ttdeci">Result seek(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a49c846a386d778df94a1439982be5cbd"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a49c846a386d778df94a1439982be5cbd">pulsar::Consumer::batchReceive</a></div><div class="ttdeci">Result batchReceive(Messages &amp;msgs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a542ca0a9473a03ccf8bd8aeed24de490"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a542ca0a9473a03ccf8bd8aeed24de490">pulsar::Consumer::unsubscribe</a></div><div class="ttdeci">Result unsubscribe()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a57fd2c53a44ea53262742d90ff11e0fd"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a57fd2c53a44ea53262742d90ff11e0fd">pulsar::Consumer::acknowledge</a></div><div class="ttdeci">Result acknowledge(const MessageIdList &amp;messageIdList)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a5d4cf148f372618961fd3411792a5cd7"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a5d4cf148f372618961fd3411792a5cd7">pulsar::Consumer::acknowledgeCumulativeAsync</a></div><div class="ttdeci">void acknowledgeCumulativeAsync(const MessageId &amp;messageId, 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 &amp;brokerConsumerStats)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a6ad164b1ab4449b17bce764224e92960"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a6ad164b1ab4449b17bce764224e92960">pulsar::Consumer::acknowledgeCumulativeAsync</a></div><div class="ttdeci">void acknowledgeCumulativeAsync(const Message &amp;message, ResultCallback 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_a74283a098beeb002e15a1dbba9fcff13"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a74283a098beeb002e15a1dbba9fcff13">pulsar::Consumer::acknowledgeAsync</a></div><div class="ttdeci">void acknowledgeAsync(const MessageIdList &amp;messageIdList, ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a79558de7435fd0b6ca0bde84f3061822"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a79558de7435fd0b6ca0bde84f3061822">pulsar::Consumer::acknowledgeCumulative</a></div><div class="ttdeci">Result acknowledgeCumulative(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a867bebab981d5aa2f74217308aa2353c"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a867bebab981d5aa2f74217308aa2353c">pulsar::Consumer::acknowledgeAsync</a></div><div class="ttdeci">void acknowledgeAsync(const Message &amp;message, ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_a8691920cae838418f33f13690a72771d"><div class="ttname"><a href="classpulsar_1_1_consumer.html#a8691920cae838418f33f13690a72771d">pulsar::Consumer::unsubscribeAsync</a></div><div class="ttdeci">void unsubscribeAsync(ResultCallback callback)</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_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_abc8cec6e81c582c6af8e3d931e41a2ad"><div class="ttname"><a href="classpulsar_1_1_consumer.html#abc8cec6e81c582c6af8e3d931e41a2ad">pulsar::Consumer::receive</a></div><div class="ttdeci">Result receive(Message &amp;msg)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ac403fe5941453dcfc41cc01055bca16e"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ac403fe5941453dcfc41cc01055bca16e">pulsar::Consumer::batchReceiveAsync</a></div><div class="ttdeci">void batchReceiveAsync(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 &amp;msg, int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ad55d95cd75501562d8ae6d83935d5977"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ad55d95cd75501562d8ae6d83935d5977">pulsar::Consumer::getTopic</a></div><div class="ttdeci">const std::string &amp; getTopic() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_ae6835e612b61795a13eff5fd2da85a0e"><div class="ttname"><a href="classpulsar_1_1_consumer.html#ae6835e612b61795a13eff5fd2da85a0e">pulsar::Consumer::seek</a></div><div class="ttdeci">Result seek(uint64_t timestamp)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_aed10e043835e50d8129e6adecd91da72"><div class="ttname"><a href="classpulsar_1_1_consumer.html#aed10e043835e50d8129e6adecd91da72">pulsar::Consumer::acknowledge</a></div><div class="ttdeci">Result acknowledge(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_af1c892616483868ce5e30be46e7a40bf"><div class="ttname"><a href="classpulsar_1_1_consumer.html#af1c892616483868ce5e30be46e7a40bf">pulsar::Consumer::seekAsync</a></div><div class="ttdeci">virtual void seekAsync(const MessageId &amp;messageId, ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_af6049caaf3e1f8bc91d4dc52b02ab7d1"><div class="ttname"><a href="classpulsar_1_1_consumer.html#af6049caaf3e1f8bc91d4dc52b02ab7d1">pulsar::Consumer::getSubscriptionName</a></div><div class="ttdeci">const std::string &amp; getSubscriptionName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_af60a7e87b76e5c69ee0e14f6ec902908"><div class="ttname"><a href="classpulsar_1_1_consumer.html#af60a7e87b76e5c69ee0e14f6ec902908">pulsar::Consumer::getLastMessageId</a></div><div class="ttdeci">Result getLastMessageId(MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_afbd9e4f5b33b5b10a32866d3485cbeb5"><div class="ttname"><a href="classpulsar_1_1_consumer.html#afbd9e4f5b33b5b10a32866d3485cbeb5">pulsar::Consumer::getLastMessageIdAsync</a></div><div class="ttdeci">void getLastMessageIdAsync(GetLastMessageIdCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_afd631d1c357bc0284afe3e0cd2acbd6e"><div class="ttname"><a href="classpulsar_1_1_consumer.html#afd631d1c357bc0284afe3e0cd2acbd6e">pulsar::Consumer::negativeAcknowledge</a></div><div class="ttdeci">void negativeAcknowledge(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html_afe59503d5d5309f38d4e246bd9f435b4"><div class="ttname"><a href="classpulsar_1_1_consumer.html#afe59503d5d5309f38d4e246bd9f435b4">pulsar::Consumer::Consumer</a></div><div class="ttdeci">Consumer()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</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_ac87806090d752fb2248e8da65727630a"><div class="ttname"><a href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">pulsar::Messages</a></div><div class="ttdeci">std::vector&lt; Message &gt; Messages</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:49</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_consumer_configuration_8h_source.html b/static/api/cpp/3.3.x/_consumer_configuration_8h_source.html
new file mode 100644
index 00000000000..debd6a0cb8f
--- /dev/null
+++ b/static/api/cpp/3.3.x/_consumer_configuration_8h_source.html
@@ -0,0 +1,389 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CONSUMERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CONSUMERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ConsumerCryptoFailureAction.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ConsumerEventListener.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/ConsumerInterceptor.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/ConsumerType.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/CryptoKeyReader.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/InitialPosition.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/KeySharedPolicy.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;pulsar/RegexSubscriptionMode.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;pulsar/TypedMessage.h&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#include &quot;BatchReceivePolicy.h&quot;</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#include &quot;DeadLetterPolicy.h&quot;</span></div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keyword">class </span>Consumer;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">   49</a></span><span class="keyword">typedef</span> std::vector&lt;Message&gt; <a class="code hl_typedef" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Messages</a>;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">   50</a></span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result)&gt; <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>;</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg)&gt; ReceiveCallback;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Messages</a>&amp; msgs)&gt; BatchReceiveCallback;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a> messageId)&gt; GetLastMessageIdCallback;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">   56</a></span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg)&gt; <a class="code hl_typedef" href="namespacepulsar.html#a [...]
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="keyword">typedef</span> std::shared_ptr&lt;ConsumerEventListener&gt; ConsumerEventListenerPtr;</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="keyword">struct </span>ConsumerConfigurationImpl;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>();</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">~ConsumerConfiguration</a>();</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ae5d5850e9e0f3130424860e6715b0fa0">   76</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> <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>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a79d9ef9f0698713b38f260b0b46d191f">setSchema</a>(<span class="keyword">const</span> <a class="code hl_class" href= [...]
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#acc102de37a90b103be92a24e92fac432">   91</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#acc102de37a90b103be92a24e92fac432">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5029c0a8bc51a764fdd4eaf37e56964d">  105</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5029c0a8bc51a764fdd4eaf37e56964d">setConsumerType</a>(<a class="code hl_enumeration" href="namespacepulsar.html#a [...]
+<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#ac3e442abe2558a2b257fc7344af61d40">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#a56eb95eb8f39532c49a3300cb2a4a72d">  120</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a56eb95eb8f39532c49a3300cb2a4a72d">setKeySharedPolicy</a>(<a class="code hl_class" href="classpulsar_1_1_key_share [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a996399917ff343715bf29afe07981c83">setMessageListener</a>(<a class="code hl_typedef" href="namespacepulsar.html#aa [...]
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; setTypedMessageListener(</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>        std::function&lt;<span class="keywordtype">void</span>(<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp;, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>&amp;)&gt; listener,</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        <span class="keyword">typename</span> TypedMessage&lt;T&gt;::Decoder decoder) {</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>        <span class="keywordflow">return</span> setMessageListener([listener, decoder](<a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg) {</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>            listener(consumer, <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage&lt;T&gt;</a>{msg, decoder});</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>        });</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    }</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span> </div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a2dcd50261f7fefa42b8fce239ef12f00">  146</a></span>    <a class="code hl_typedef" href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">MessageListener</a> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a2dcd50261f7fefa42b8fce239ef12f00">getMessageListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#afe5439f3160e601a09e62237d2377c1a">  151</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#afe5439f3160e601a09e62237d2377c1a">hasMessageListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span> </div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a6589512011ad7daf2b9eeaaaf4020842">  157</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a6589512011ad7daf2b9eeaaaf4020842">setConsumerEventListener</a>(ConsumerEventListenerPtr eventListener);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad58be2c7d04522d70a4d4cd447b639b3">  162</a></span>    ConsumerEventListenerPtr <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad58be2c7d04522d70a4d4cd447b639b3">getConsumerEventListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#abc2cdbdc7878fca3205ec77cea2b1fa2">  167</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#abc2cdbdc7878fca3205ec77cea2b1fa2">hasConsumerEventListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a265d2cd1e9d1d329eff9b98346f245c2">  190</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a265d2cd1e9d1d329eff9b98346f245c2">setReceiverQueueSize</a>(<span class="keywordtype">int</span> size);</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5c268fc7714916cf25c4a34a55a5bdc4">  195</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5c268fc7714916cf25c4a34a55a5bdc4">getReceiverQueueSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9c07888abe996b80c2fd168278a24de3">  205</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9c07888abe996b80c2fd168278a24de3">setMaxTotalReceiverQueueSizeAcrossPartitions</a>(<span class="keywordtype">int</span> maxTotalReceiverQueueSizeAcrossPartitions);</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#abffc95603a9f983528b4dba82324f146">  210</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#abffc95603a9f983528b4dba82324f146">getMaxTotalReceiverQueueSizeAcrossPartitions</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span> </div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9a9c38d660aabc9162295de38bc26b77">  217</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9a9c38d660aabc9162295de38bc26b77">setConsumerName</a>(<span class="keyword">const</span> std::string&amp; consumerName);</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af3941af5ed7e7f4ab7b5f5a8737eaee9">  222</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#af3941af5ed7e7f4ab7b5f5a8737eaee9">getConsumerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ad55a4f0187517c984de8d01f8660fb8f">  234</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ad55a4f0187517c984de8d01f8660fb8f">setUnAckedMessagesTimeoutMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a373ab78d91d7fbbd0c9b721ba1f34f26">  239</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a373ab78d91d7fbbd0c9b721ba1f34f26">getUnAckedMessagesTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4">  252</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4">setTickDurationInMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span> </div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a2b45112da6be71eaaff4513bf96a73c0">  257</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a2b45112da6be71eaaff4513bf96a73c0">getTickDurationInMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">  271</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">setNegativeAckRedeliveryDelayMs</a>(<span class="keywordtype">long</span> redeliveryDelayMillis);</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a7a4adb22969050a6bfd6919e2ac68917">  278</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a7a4adb22969050a6bfd6919e2ac68917">getNegativeAckRedeliveryDelayMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af3f26276c9027a78b9e3243a3e2e38bb">  288</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="l00289" name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#abc531b79e46a4c2fc70cec8ca573d194">  295</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="l00296" name="l00296"></a><span class="lineno">  296</span> </div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a593295c1aa0cd77c32a6cfdee80cd452">  303</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="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#a5eeb586f29508eca6d1cd602a8da7a06">  310</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="l00311" name="l00311"></a><span class="lineno">  311</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a453a6af922fea7c45d56264d57925507">  319</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="l00320" name="l00320"></a><span class="lineno">  320</span> </div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a23fd67606f5ca05a158226cbd0a2eb54">  324</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="l00325" name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ac9a6a885f0cea261f32dc4a3509643f4">  329</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="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_consumer_configuration.html#a70089f562cb67d8743165540235b2ec7">  334</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="l00335" name="l00335"></a><span class="lineno">  335</span> </div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9ff24549af7bda3f2f4da4cce299eb5d">  341</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9ff24549af7bda3f2f4da4cce299eb5d">setCryptoKeyReader</a>(CryptoKeyReaderPtr cryptoKeyReader);</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span> </div>
+<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a339e3d80453eb963d5d1a64c5660e556">  346</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="l00347" name="l00347"></a><span class="lineno">  347</span> </div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#aadf3be3099c2bbb4354839e21a48e875">  351</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#aadf3be3099c2bbb4354839e21a48e875">setCryptoFailureAction</a>(ConsumerCryptoFailureAction action);</div>
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span> </div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a74209a513ebdb85f5969f2fedafb0b44">  356</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="l00357" name="l00357"></a><span class="lineno">  357</span> </div>
+<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ae3f12b9f76982d8ea64f80adfb8af960">  371</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="l00372" name="l00372"></a><span class="lineno">  372</span> </div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5910aa7539a7fb217a38813d846a9acb">  380</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="l00381" name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5034a765b5b60ea71f1beead267ff88f">  385</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="l00386" name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a56726bee70b41cc2832fae59a38837a4">  393</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a56726bee70b41cc2832fae59a38837a4">setRegexSubscriptionMode</a>(<a class="code hl_enumeration" href="namespacepuls [...]
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a74fc4ee3cb49f470b46914a3f7d03c6d">  398</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="l00399" name="l00399"></a><span class="lineno">  399</span> </div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ab0e049e62befb9b924307ba6f990cd97">  406</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="l00407" name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5ceb47d60826a738ed122cd962220ef7">  411</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="l00412" name="l00412"></a><span class="lineno">  412</span> </div>
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a576115b74c66df74662b2e4f00a69731">  419</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="l00420" name="l00420"></a><span class="lineno">  420</span> </div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a95a0726c17b428ffa58824171758a6ac">  426</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_batch_receive_policy.html">BatchReceivePolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a95a0726c17b428ffa58824171758a6ac">getBatchReceivePolicy</a>() <span class="keyword" [...]
+<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span> </div>
+<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a84033093b1bf99d7c843634fdc8a32ec">  455</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="l00456" name="l00456"></a><span class="lineno">  456</span> </div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a123b495132d47e17f0cd82f9163eb8c8">  462</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a123b495132d47e17f0cd82f9163eb8c8">getDeadLetterPolicy</a>() <span class="keyword">const [...]
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span> </div>
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a70a15216ef41c8bd38178bdc5e377a31">  470</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="l00471" name="l00471"></a><span class="lineno">  471</span> </div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a4ab6c45eb256e8ad9ec4d74199e5c01d">  475</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="l00476" name="l00476"></a><span class="lineno">  476</span> </div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a8aab5c5bd65073257d0509d410099570">  484</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8aab5c5bd65073257d0509d410099570">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span> </div>
+<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">  492</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span> </div>
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5982ae123e367df322be897f81337ad0">  497</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a5982ae123e367df322be897f81337ad0">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span> </div>
+<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">  504</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span [...]
+<div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span> </div>
+<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">  509</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">setProperties</a>(<span class="keyword">const</span> std::map&lt;std::string, s [...]
+<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span> </div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#aaa9a9a19c4445bb6521c2b3d1a2037f6">  514</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#aaa9a9a19c4445bb6521c2b3d1a2037f6">getSubscriptionProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span> </div>
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ae60097f3b91d2291dd121e3573f55855">  523</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ae60097f3b91d2291dd121e3573f55855">setSubscriptionProperties</a>(</div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span>        <span class="keyword">const</span> std::map&lt;std::string, std::string&gt;&amp; subscriptionProperties);</div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno">  525</span> </div>
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a09492153409160a4993796f88caadd23">  532</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a09492153409160a4993796f88caadd23">setPriorityLevel</a>(<span class="keywordtype">int</span> priorityLevel);</div>
+<div class="line"><a id="l00533" name="l00533"></a><span class="lineno">  533</span> </div>
+<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a47dd7c844d904d52d3a2d5f4b498402d">  537</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="l00538" name="l00538"></a><span class="lineno">  538</span> </div>
+<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a9d17c5b2ed6547ce9e37fad4438e6e83">  560</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a9d17c5b2ed6547ce9e37fad4438e6e83">setMaxPendingChunkedMessage</a>(<span class="keywordtype">size_t</span> maxPend [...]
+<div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span> </div>
+<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a46e9481689880f756588075f64913bb7">  565</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="l00566" name="l00566"></a><span class="lineno">  566</span> </div>
+<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a3f11566f0654bd4a9df8e7852e4e048e">  577</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a3f11566f0654bd4a9df8e7852e4e048e">setAutoAckOldestChunkedMessageOnQueueFull</a>(</div>
+<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span>        <span class="keywordtype">bool</span> autoAckOldestChunkedMessageOnQueueFull);</div>
+<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span> </div>
+<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a4f978c3e8ff479ed0fea93eba5275f6d">  583</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="l00584" name="l00584"></a><span class="lineno">  584</span> </div>
+<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#ac1bf9941a3dbb3948e76b9638d188ea9">  594</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#ac1bf9941a3dbb3948e76b9638d188ea9">setExpireTimeOfIncompleteChunkedMessageMs</a>(</div>
+<div class="line"><a id="l00595" name="l00595"></a><span class="lineno">  595</span>        <span class="keywordtype">long</span> expireTimeOfIncompleteChunkedMessageMs);</div>
+<div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span> </div>
+<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a5caba4e5a875b67c4cf4c794461e4e8d">  603</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="l00604" name="l00604"></a><span class="lineno">  604</span> </div>
+<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af4085925dc8b62bec126cd3ea1e1085a">  612</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#af4085925dc8b62bec126cd3ea1e1085a">setStartMessageIdInclusive</a>(<span class="keywordtype">bool</span> startMessa [...]
+<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span> </div>
+<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a968b4d4ae6348072965ab98bf1e7212e">  617</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="l00618" name="l00618"></a><span class="lineno">  618</span> </div>
+<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a19565e5aabcb066e97fed95be4724151">  629</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a19565e5aabcb066e97fed95be4724151">setBatchIndexAckEnabled</a>(<span class="keywordtype">bool</span> enabled);</div>
+<div class="line"><a id="l00630" name="l00630"></a><span class="lineno">  630</span> </div>
+<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a1f5847ecf1c8f77992b1a4c110011c9a">  634</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="l00635" name="l00635"></a><span class="lineno">  635</span> </div>
+<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">  642</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">intercept</a>(<span class="keyword">const</span> std::vector&lt;ConsumerInterce [...]
+<div class="line"><a id="l00643" name="l00643"></a><span class="lineno">  643</span> </div>
+<div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span>    <span class="keyword">const</span> std::vector&lt;ConsumerInterceptorPtr&gt;&amp; getInterceptors() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span> </div>
+<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#a3f16bf6b26ddb301c03fcb58e31bdd21">  655</a></span>    <a class="code hl_class" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_consumer_configuration.html#a3f16bf6b26ddb301c03fcb58e31bdd21">setAckReceiptEnabled</a>(<span class="keywordtype">bool</span> ackReceiptEnable [...]
+<div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span> </div>
+<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_configuration.html#af4f7966e4662ecb250893927909269a3">  660</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="l00661" name="l00661"></a><span class="lineno">  661</span> </div>
+<div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00664" name="l00664"></a><span class="lineno">  664</span> </div>
+<div class="line"><a id="l00665" name="l00665"></a><span class="lineno">  665</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00666" name="l00666"></a><span class="lineno">  666</span>    std::shared_ptr&lt;ConsumerConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00667" name="l00667"></a><span class="lineno">  667</span>};</div>
+<div class="line"><a id="l00668" name="l00668"></a><span class="lineno">  668</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00669" name="l00669"></a><span class="lineno">  669</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"><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_configuration_html_a093486de4b32d91655d8b4e45efd6d6f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a093486de4b32d91655d8b4e45efd6d6f">pulsar::ConsumerConfiguration::setProperties</a></div><div class="ttdeci">ConsumerConfiguration &amp; setProperties(const std::map&lt; std::string, std::string &gt; &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a09492153409160a4993796f88caadd23"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a09492153409160a4993796f88caadd23">pulsar::ConsumerConfiguration::setPriorityLevel</a></div><div class="ttdeci">ConsumerConfiguration &amp; setPriorityLevel(int priorityLevel)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a123b495132d47e17f0cd82f9163eb8c8"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a123b495132d47e17f0cd82f9163eb8c8">pulsar::ConsumerConfiguration::getDeadLetterPolicy</a></div><div class="ttdeci">const DeadLetterPolicy &amp; getDeadLetterPolicy() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a19565e5aabcb066e97fed95be4724151"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a19565e5aabcb066e97fed95be4724151">pulsar::ConsumerConfiguration::setBatchIndexAckEnabled</a></div><div class="ttdeci">ConsumerConfiguration &amp; setBatchIndexAckEnabled(bool enabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a1a7a0dd0f141ae5816c117727f1c201d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a1a7a0dd0f141ae5816c117727f1c201d">pulsar::ConsumerConfiguration::getConsumerType</a></div><div class="ttdeci">ConsumerType getConsumerType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a1f5847ecf1c8f77992b1a4c110011c9a"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a1f5847ecf1c8f77992b1a4c110011c9a">pulsar::ConsumerConfiguration::isBatchIndexAckEnabled</a></div><div class="ttdeci">bool isBatchIndexAckEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a23fd67606f5ca05a158226cbd0a2eb54"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a23fd67606f5ca05a158226cbd0a2eb54">pulsar::ConsumerConfiguration::getBrokerConsumerStatsCacheTimeInMs</a></div><div class="ttdeci">long getBrokerConsumerStatsCacheTimeInMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a265d2cd1e9d1d329eff9b98346f245c2"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a265d2cd1e9d1d329eff9b98346f245c2">pulsar::ConsumerConfiguration::setReceiverQueueSize</a></div><div class="ttdeci">void setReceiverQueueSize(int size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a2b45112da6be71eaaff4513bf96a73c0"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a2b45112da6be71eaaff4513bf96a73c0">pulsar::ConsumerConfiguration::getTickDurationInMs</a></div><div class="ttdeci">long getTickDurationInMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a2dcd50261f7fefa42b8fce239ef12f00"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a2dcd50261f7fefa42b8fce239ef12f00">pulsar::ConsumerConfiguration::getMessageListener</a></div><div class="ttdeci">MessageListener getMessageListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a339e3d80453eb963d5d1a64c5660e556"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a339e3d80453eb963d5d1a64c5660e556">pulsar::ConsumerConfiguration::getCryptoFailureAction</a></div><div class="ttdeci">ConsumerCryptoFailureAction getCryptoFailureAction() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a373ab78d91d7fbbd0c9b721ba1f34f26"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a373ab78d91d7fbbd0c9b721ba1f34f26">pulsar::ConsumerConfiguration::getUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">long getUnAckedMessagesTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a37bf6928179a14ab9b2af6e69befa2d8"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a37bf6928179a14ab9b2af6e69befa2d8">pulsar::ConsumerConfiguration::intercept</a></div><div class="ttdeci">ConsumerConfiguration &amp; intercept(const std::vector&lt; ConsumerInterceptorPtr &gt; &amp;interceptors)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a3f11566f0654bd4a9df8e7852e4e048e"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a3f11566f0654bd4a9df8e7852e4e048e">pulsar::ConsumerConfiguration::setAutoAckOldestChunkedMessageOnQueueFull</a></div><div class="ttdeci">ConsumerConfiguration &amp; setAutoAckOldestChunkedMessageOnQueueFull(bool autoAckOldestChunkedMessageOnQueueFull)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a3f16bf6b26ddb301c03fcb58e31bdd21"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a3f16bf6b26ddb301c03fcb58e31bdd21">pulsar::ConsumerConfiguration::setAckReceiptEnabled</a></div><div class="ttdeci">ConsumerConfiguration &amp; setAckReceiptEnabled(bool ackReceiptEnabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a453a6af922fea7c45d56264d57925507"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a453a6af922fea7c45d56264d57925507">pulsar::ConsumerConfiguration::setBrokerConsumerStatsCacheTimeInMs</a></div><div class="ttdeci">void setBrokerConsumerStatsCacheTimeInMs(const long cacheTimeInMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a46e9481689880f756588075f64913bb7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a46e9481689880f756588075f64913bb7">pulsar::ConsumerConfiguration::getMaxPendingChunkedMessage</a></div><div class="ttdeci">size_t getMaxPendingChunkedMessage() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a47dd7c844d904d52d3a2d5f4b498402d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a47dd7c844d904d52d3a2d5f4b498402d">pulsar::ConsumerConfiguration::getPriorityLevel</a></div><div class="ttdeci">int getPriorityLevel() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a4ab6c45eb256e8ad9ec4d74199e5c01d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a4ab6c45eb256e8ad9ec4d74199e5c01d">pulsar::ConsumerConfiguration::isReplicateSubscriptionStateEnabled</a></div><div class="ttdeci">bool isReplicateSubscriptionStateEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a4f978c3e8ff479ed0fea93eba5275f6d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a4f978c3e8ff479ed0fea93eba5275f6d">pulsar::ConsumerConfiguration::isAutoAckOldestChunkedMessageOnQueueFull</a></div><div class="ttdeci">bool isAutoAckOldestChunkedMessageOnQueueFull() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5029c0a8bc51a764fdd4eaf37e56964d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5029c0a8bc51a764fdd4eaf37e56964d">pulsar::ConsumerConfiguration::setConsumerType</a></div><div class="ttdeci">ConsumerConfiguration &amp; setConsumerType(ConsumerType consumerType)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5034a765b5b60ea71f1beead267ff88f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5034a765b5b60ea71f1beead267ff88f">pulsar::ConsumerConfiguration::getPatternAutoDiscoveryPeriod</a></div><div class="ttdeci">int getPatternAutoDiscoveryPeriod() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a56726bee70b41cc2832fae59a38837a4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a56726bee70b41cc2832fae59a38837a4">pulsar::ConsumerConfiguration::setRegexSubscriptionMode</a></div><div class="ttdeci">ConsumerConfiguration &amp; setRegexSubscriptionMode(RegexSubscriptionMode regexSubscriptionMode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a56eb95eb8f39532c49a3300cb2a4a72d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a56eb95eb8f39532c49a3300cb2a4a72d">pulsar::ConsumerConfiguration::setKeySharedPolicy</a></div><div class="ttdeci">ConsumerConfiguration &amp; setKeySharedPolicy(KeySharedPolicy keySharedPolicy)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a576115b74c66df74662b2e4f00a69731"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a576115b74c66df74662b2e4f00a69731">pulsar::ConsumerConfiguration::setBatchReceivePolicy</a></div><div class="ttdeci">void setBatchReceivePolicy(const BatchReceivePolicy &amp;batchReceivePolicy)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5910aa7539a7fb217a38813d846a9acb"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5910aa7539a7fb217a38813d846a9acb">pulsar::ConsumerConfiguration::setPatternAutoDiscoveryPeriod</a></div><div class="ttdeci">void setPatternAutoDiscoveryPeriod(int periodInSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a593295c1aa0cd77c32a6cfdee80cd452"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a593295c1aa0cd77c32a6cfdee80cd452">pulsar::ConsumerConfiguration::setAckGroupingMaxSize</a></div><div class="ttdeci">void setAckGroupingMaxSize(long maxGroupingSize)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5982ae123e367df322be897f81337ad0"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5982ae123e367df322be897f81337ad0">pulsar::ConsumerConfiguration::getProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5c268fc7714916cf25c4a34a55a5bdc4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5c268fc7714916cf25c4a34a55a5bdc4">pulsar::ConsumerConfiguration::getReceiverQueueSize</a></div><div class="ttdeci">int getReceiverQueueSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5caba4e5a875b67c4cf4c794461e4e8d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5caba4e5a875b67c4cf4c794461e4e8d">pulsar::ConsumerConfiguration::getExpireTimeOfIncompleteChunkedMessageMs</a></div><div class="ttdeci">long getExpireTimeOfIncompleteChunkedMessageMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5ceb47d60826a738ed122cd962220ef7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5ceb47d60826a738ed122cd962220ef7">pulsar::ConsumerConfiguration::getSubscriptionInitialPosition</a></div><div class="ttdeci">InitialPosition getSubscriptionInitialPosition() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a5eeb586f29508eca6d1cd602a8da7a06"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a5eeb586f29508eca6d1cd602a8da7a06">pulsar::ConsumerConfiguration::getAckGroupingMaxSize</a></div><div class="ttdeci">long getAckGroupingMaxSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a6589512011ad7daf2b9eeaaaf4020842"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a6589512011ad7daf2b9eeaaaf4020842">pulsar::ConsumerConfiguration::setConsumerEventListener</a></div><div class="ttdeci">ConsumerConfiguration &amp; setConsumerEventListener(ConsumerEventListenerPtr eventListener)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a70089f562cb67d8743165540235b2ec7"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a70089f562cb67d8743165540235b2ec7">pulsar::ConsumerConfiguration::getCryptoKeyReader</a></div><div class="ttdeci">const CryptoKeyReaderPtr getCryptoKeyReader() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a70a15216ef41c8bd38178bdc5e377a31"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a70a15216ef41c8bd38178bdc5e377a31">pulsar::ConsumerConfiguration::setReplicateSubscriptionStateEnabled</a></div><div class="ttdeci">void setReplicateSubscriptionStateEnabled(bool enabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a74209a513ebdb85f5969f2fedafb0b44"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a74209a513ebdb85f5969f2fedafb0b44">pulsar::ConsumerConfiguration::isReadCompacted</a></div><div class="ttdeci">bool isReadCompacted() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a74fc4ee3cb49f470b46914a3f7d03c6d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a74fc4ee3cb49f470b46914a3f7d03c6d">pulsar::ConsumerConfiguration::getRegexSubscriptionMode</a></div><div class="ttdeci">RegexSubscriptionMode getRegexSubscriptionMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a79d9ef9f0698713b38f260b0b46d191f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a79d9ef9f0698713b38f260b0b46d191f">pulsar::ConsumerConfiguration::setSchema</a></div><div class="ttdeci">ConsumerConfiguration &amp; setSchema(const SchemaInfo &amp;schemaInfo)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a7a4adb22969050a6bfd6919e2ac68917"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a7a4adb22969050a6bfd6919e2ac68917">pulsar::ConsumerConfiguration::getNegativeAckRedeliveryDelayMs</a></div><div class="ttdeci">long getNegativeAckRedeliveryDelayMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a84033093b1bf99d7c843634fdc8a32ec"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a84033093b1bf99d7c843634fdc8a32ec">pulsar::ConsumerConfiguration::setDeadLetterPolicy</a></div><div class="ttdeci">void setDeadLetterPolicy(const DeadLetterPolicy &amp;deadLetterPolicy)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a8aab5c5bd65073257d0509d410099570"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a8aab5c5bd65073257d0509d410099570">pulsar::ConsumerConfiguration::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a8b10f7a28e03a4929fc58aea5b67405d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a8b10f7a28e03a4929fc58aea5b67405d">pulsar::ConsumerConfiguration::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a8b86fc6d5d8ca8e5c5dd35aa8a1c52b4">pulsar::ConsumerConfiguration::setTickDurationInMs</a></div><div class="ttdeci">void setTickDurationInMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a95a0726c17b428ffa58824171758a6ac"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a95a0726c17b428ffa58824171758a6ac">pulsar::ConsumerConfiguration::getBatchReceivePolicy</a></div><div class="ttdeci">const BatchReceivePolicy &amp; getBatchReceivePolicy() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a968b4d4ae6348072965ab98bf1e7212e"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a968b4d4ae6348072965ab98bf1e7212e">pulsar::ConsumerConfiguration::isStartMessageIdInclusive</a></div><div class="ttdeci">bool isStartMessageIdInclusive() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a996399917ff343715bf29afe07981c83"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a996399917ff343715bf29afe07981c83">pulsar::ConsumerConfiguration::setMessageListener</a></div><div class="ttdeci">ConsumerConfiguration &amp; setMessageListener(MessageListener messageListener)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9a9c38d660aabc9162295de38bc26b77"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9a9c38d660aabc9162295de38bc26b77">pulsar::ConsumerConfiguration::setConsumerName</a></div><div class="ttdeci">void setConsumerName(const std::string &amp;consumerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9c07888abe996b80c2fd168278a24de3"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9c07888abe996b80c2fd168278a24de3">pulsar::ConsumerConfiguration::setMaxTotalReceiverQueueSizeAcrossPartitions</a></div><div class="ttdeci">void setMaxTotalReceiverQueueSizeAcrossPartitions(int maxTotalReceiverQueueSizeAcrossPartitions)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9d17c5b2ed6547ce9e37fad4438e6e83"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9d17c5b2ed6547ce9e37fad4438e6e83">pulsar::ConsumerConfiguration::setMaxPendingChunkedMessage</a></div><div class="ttdeci">ConsumerConfiguration &amp; setMaxPendingChunkedMessage(size_t maxPendingChunkedMessage)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_a9ff24549af7bda3f2f4da4cce299eb5d"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#a9ff24549af7bda3f2f4da4cce299eb5d">pulsar::ConsumerConfiguration::setCryptoKeyReader</a></div><div class="ttdeci">ConsumerConfiguration &amp; setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_aaa9a9a19c4445bb6521c2b3d1a2037f6"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#aaa9a9a19c4445bb6521c2b3d1a2037f6">pulsar::ConsumerConfiguration::getSubscriptionProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getSubscriptionProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_aadf3be3099c2bbb4354839e21a48e875"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#aadf3be3099c2bbb4354839e21a48e875">pulsar::ConsumerConfiguration::setCryptoFailureAction</a></div><div class="ttdeci">ConsumerConfiguration &amp; setCryptoFailureAction(ConsumerCryptoFailureAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ab0e049e62befb9b924307ba6f990cd97"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ab0e049e62befb9b924307ba6f990cd97">pulsar::ConsumerConfiguration::setSubscriptionInitialPosition</a></div><div class="ttdeci">void setSubscriptionInitialPosition(InitialPosition subscriptionInitialPosition)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_abc2cdbdc7878fca3205ec77cea2b1fa2"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#abc2cdbdc7878fca3205ec77cea2b1fa2">pulsar::ConsumerConfiguration::hasConsumerEventListener</a></div><div class="ttdeci">bool hasConsumerEventListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_abc531b79e46a4c2fc70cec8ca573d194"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#abc531b79e46a4c2fc70cec8ca573d194">pulsar::ConsumerConfiguration::getAckGroupingTimeMs</a></div><div class="ttdeci">long getAckGroupingTimeMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_abffc95603a9f983528b4dba82324f146"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#abffc95603a9f983528b4dba82324f146">pulsar::ConsumerConfiguration::getMaxTotalReceiverQueueSizeAcrossPartitions</a></div><div class="ttdeci">int getMaxTotalReceiverQueueSizeAcrossPartitions() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ac1bf9941a3dbb3948e76b9638d188ea9"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ac1bf9941a3dbb3948e76b9638d188ea9">pulsar::ConsumerConfiguration::setExpireTimeOfIncompleteChunkedMessageMs</a></div><div class="ttdeci">ConsumerConfiguration &amp; setExpireTimeOfIncompleteChunkedMessageMs(long expireTimeOfIncompleteChunkedMessageMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ac9a6a885f0cea261f32dc4a3509643f4"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ac9a6a885f0cea261f32dc4a3509643f4">pulsar::ConsumerConfiguration::isEncryptionEnabled</a></div><div class="ttdeci">bool isEncryptionEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_acb0cfc0ded14bd3c324466a41c9aaf9e"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#acb0cfc0ded14bd3c324466a41c9aaf9e">pulsar::ConsumerConfiguration::setProperty</a></div><div class="ttdeci">ConsumerConfiguration &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_acc102de37a90b103be92a24e92fac432"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#acc102de37a90b103be92a24e92fac432">pulsar::ConsumerConfiguration::getSchema</a></div><div class="ttdeci">const SchemaInfo &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad55a4f0187517c984de8d01f8660fb8f"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad55a4f0187517c984de8d01f8660fb8f">pulsar::ConsumerConfiguration::setUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad58be2c7d04522d70a4d4cd447b639b3"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad58be2c7d04522d70a4d4cd447b639b3">pulsar::ConsumerConfiguration::getConsumerEventListener</a></div><div class="ttdeci">ConsumerEventListenerPtr getConsumerEventListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ad8febc1509d73daaaa061b5c53f7735b"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ad8febc1509d73daaaa061b5c53f7735b">pulsar::ConsumerConfiguration::getKeySharedPolicy</a></div><div class="ttdeci">KeySharedPolicy getKeySharedPolicy() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ae3f12b9f76982d8ea64f80adfb8af960"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ae3f12b9f76982d8ea64f80adfb8af960">pulsar::ConsumerConfiguration::setReadCompacted</a></div><div class="ttdeci">void setReadCompacted(bool compacted)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ae5d5850e9e0f3130424860e6715b0fa0"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ae5d5850e9e0f3130424860e6715b0fa0">pulsar::ConsumerConfiguration::clone</a></div><div class="ttdeci">ConsumerConfiguration clone() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_ae60097f3b91d2291dd121e3573f55855"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#ae60097f3b91d2291dd121e3573f55855">pulsar::ConsumerConfiguration::setSubscriptionProperties</a></div><div class="ttdeci">ConsumerConfiguration &amp; setSubscriptionProperties(const std::map&lt; std::string, std::string &gt; &amp;subscriptionProperties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_aef99f71cd13324351864dd1e376d8788"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">pulsar::ConsumerConfiguration::setNegativeAckRedeliveryDelayMs</a></div><div class="ttdeci">void setNegativeAckRedeliveryDelayMs(long redeliveryDelayMillis)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af3941af5ed7e7f4ab7b5f5a8737eaee9"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af3941af5ed7e7f4ab7b5f5a8737eaee9">pulsar::ConsumerConfiguration::getConsumerName</a></div><div class="ttdeci">const std::string &amp; getConsumerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af3f26276c9027a78b9e3243a3e2e38bb"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af3f26276c9027a78b9e3243a3e2e38bb">pulsar::ConsumerConfiguration::setAckGroupingTimeMs</a></div><div class="ttdeci">void setAckGroupingTimeMs(long ackGroupingMillis)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af4085925dc8b62bec126cd3ea1e1085a"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af4085925dc8b62bec126cd3ea1e1085a">pulsar::ConsumerConfiguration::setStartMessageIdInclusive</a></div><div class="ttdeci">ConsumerConfiguration &amp; setStartMessageIdInclusive(bool startMessageIdInclusive)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_af4f7966e4662ecb250893927909269a3"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#af4f7966e4662ecb250893927909269a3">pulsar::ConsumerConfiguration::isAckReceiptEnabled</a></div><div class="ttdeci">bool isAckReceiptEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_configuration_html_afe5439f3160e601a09e62237d2377c1a"><div class="ttname"><a href="classpulsar_1_1_consumer_configuration.html#afe5439f3160e601a09e62237d2377c1a">pulsar::ConsumerConfiguration::hasMessageListener</a></div><div class="ttdeci">bool hasMessageListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html">pulsar::DeadLetterPolicy</a></div><div class="ttdef"><b>Definition</b> DeadLetterPolicy.h:36</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html">pulsar::KeySharedPolicy</a></div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:52</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:44</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:146</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_aa2439b1ef83202e8d35359d0134f2d56"><div class="ttname"><a href="namespacepulsar.html#aa2439b1ef83202e8d35359d0134f2d56">pulsar::MessageListener</a></div><div class="ttdeci">std::function&lt; void(Consumer &amp;consumer, const Message &amp;msg)&gt; MessageListener</div><div class="ttdoc">Callback definition for MessageListener.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:56</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbd"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">pulsar::RegexSubscriptionMode</a></div><div class="ttdeci">RegexSubscriptionMode</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac3e442abe2558a2b257fc7344af61d40"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40">pulsar::ConsumerType</a></div><div class="ttdeci">ConsumerType</div><div class="ttdef"><b>Definition</b> ConsumerType.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac87806090d752fb2248e8da65727630a"><div class="ttname"><a href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">pulsar::Messages</a></div><div class="ttdeci">std::vector&lt; Message &gt; Messages</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:49</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_consumer_crypto_failure_action_8h_source.html b/static/api/cpp/3.3.x/_consumer_crypto_failure_action_8h_source.html
new file mode 100644
index 00000000000..a1acc30d4f5
--- /dev/null
+++ b/static/api/cpp/3.3.x/_consumer_crypto_failure_action_8h_source.html
@@ -0,0 +1,106 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerCryptoFailureAction.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef CONSUMERCRYPTOFAILUREACTION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define CONSUMERCRYPTOFAILUREACTION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">enum class</span> ConsumerCryptoFailureAction</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span>{</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>    FAIL,     <span class="comment">// This is the default option to fail consume until crypto succeeds</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    DISCARD,  <span class="comment">// Message is silently acknowledged and not delivered to the application</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    CONSUME   <span class="comment">// Deliver the encrypted message to the application. It&#39;s the application&#39;s</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>              <span class="comment">// responsibility to decrypt the message. If message is also compressed,</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>              <span class="comment">// decompression will fail. If message contain batch messages, client will</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>              <span class="comment">// not be able to retrieve individual messages in the batch</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>};</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>} <span class="comment">/* namespace pulsar */</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="preprocessor">#endif </span><span class="comment">/* CONSUMERCRYPTOFAILUREACTION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_consumer_event_listener_8h_source.html b/static/api/cpp/3.3.x/_consumer_event_listener_8h_source.html
new file mode 100644
index 00000000000..e7fca90f3ab
--- /dev/null
+++ b/static/api/cpp/3.3.x/_consumer_event_listener_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ConsumerEventListener.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_CONSUMEREVENTLISTENER_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_CONSUMEREVENTLISTENER_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">class </span>Consumer;</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"><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 class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span><span class="preprocessor">#endif </span><span class="comment">/* PULSAR_CONSUMEREVENTLISTENER_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_event_listener_html"><div class="ttname"><a href="classpulsar_1_1_consumer_event_listener.html">pulsar::ConsumerEventListener</a></div><div class="ttdef"><b>Definition</b> ConsumerEventListener.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_event_listener_html_aa11768bfa6db7611e95631202d88439e"><div class="ttname"><a href="classpulsar_1_1_consumer_event_listener.html#aa11768bfa6db7611e95631202d88439e">pulsar::ConsumerEventListener::becameInactive</a></div><div class="ttdeci">virtual void becameInactive(Consumer consumer, int partitionId)=0</div><div class="ttdoc">Notified when the consumer group is changed, and the consumer is still inactive or becomes inactive.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_event_listener_html_ae6423a9fb10d4c76642bf7f036d43875"><div class="ttname"><a href="classpulsar_1_1_consumer_event_listener.html#ae6423a9fb10d4c76642bf7f036d43875">pulsar::ConsumerEventListener::becameActive</a></div><div class="ttdeci">virtual void becameActive(Consumer consumer, int partitionId)=0</div><div class="ttdoc">Notified when the consumer group is changed, and the consumer becomes active.</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_consumer_interceptor_8h_source.html b/static/api/cpp/3.3.x/_consumer_interceptor_8h_source.html
new file mode 100644
index 00000000000..e48e88b8a09
--- /dev/null
+++ b/static/api/cpp/3.3.x/_consumer_interceptor_8h_source.html
@@ -0,0 +1,130 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef PULSAR_CPP_CONSUMER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define PULSAR_CPP_CONSUMER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;set&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>Consumer;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html">   43</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_consumer_interceptor.html">ConsumerInterceptor</a> {</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_consumer_interceptor.html">~ConsumerInterceptor</a>() {}</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#abe9d12923a7f6b3bc56c9596a4bac7bc">   49</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#abe9d12923a7f6b3bc56c9596a4bac7bc">close</a>() {}</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#a390ea752b64d895a6cca218255ba1398">   80</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#a390ea752b64d895a6cca218255ba1398">beforeConsume</a>(<span class="keyword">const</span> <a class="code hl_class" hr [...]
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#a9d45879671a6585c244b996e0f8e0eae">   92</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#a9d45879671a6585c244b996e0f8e0eae">onAcknowledge</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer.html"> [...]
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#aaa831e0a16b86333a43ee7fed04ab0a1">  104</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#aaa831e0a16b86333a43ee7fed04ab0a1">onAcknowledgeCumulative</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consu [...]
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>                                         <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageID) = 0;</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classpulsar_1_1_consumer_interceptor.html#a8f11afb9ec2c367cd5006f4a2df45f30">  115</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_consumer_interceptor.html#a8f11afb9ec2c367cd5006f4a2df45f30">onNegativeAcksSend</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_consumer.h [...]
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>};</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span><span class="keyword">typedef</span> std::shared_ptr&lt;ConsumerInterceptor&gt; ConsumerInterceptorPtr;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_CONSUMER_INTERCEPTOR_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_html"><div class="ttname"><a href="classpulsar_1_1_consumer.html">pulsar::Consumer</a></div><div class="ttdef"><b>Definition</b> Consumer.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html">pulsar::ConsumerInterceptor</a></div><div class="ttdef"><b>Definition</b> ConsumerInterceptor.h:43</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_a390ea752b64d895a6cca218255ba1398"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#a390ea752b64d895a6cca218255ba1398">pulsar::ConsumerInterceptor::beforeConsume</a></div><div class="ttdeci">virtual Message beforeConsume(const Consumer &amp;consumer, const Message &amp;message)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_a8f11afb9ec2c367cd5006f4a2df45f30"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#a8f11afb9ec2c367cd5006f4a2df45f30">pulsar::ConsumerInterceptor::onNegativeAcksSend</a></div><div class="ttdeci">virtual void onNegativeAcksSend(const Consumer &amp;consumer, const std::set&lt; MessageId &gt; &amp;messageIds)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_a9d45879671a6585c244b996e0f8e0eae"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#a9d45879671a6585c244b996e0f8e0eae">pulsar::ConsumerInterceptor::onAcknowledge</a></div><div class="ttdeci">virtual void onAcknowledge(const Consumer &amp;consumer, Result result, const MessageId &amp;messageID)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_aaa831e0a16b86333a43ee7fed04ab0a1"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#aaa831e0a16b86333a43ee7fed04ab0a1">pulsar::ConsumerInterceptor::onAcknowledgeCumulative</a></div><div class="ttdeci">virtual void onAcknowledgeCumulative(const Consumer &amp;consumer, Result result, const MessageId &amp;messageID)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_consumer_interceptor_html_abe9d12923a7f6b3bc56c9596a4bac7bc"><div class="ttname"><a href="classpulsar_1_1_consumer_interceptor.html#abe9d12923a7f6b3bc56c9596a4bac7bc">pulsar::ConsumerInterceptor::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdef"><b>Definition</b> ConsumerInterceptor.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</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_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_consumer_type_8h_source.html b/static/api/cpp/3.3.x/_consumer_type_8h_source.html
new file mode 100644
index 00000000000..ffa642eb9b0
--- /dev/null
+++ b/static/api/cpp/3.3.x/_consumer_type_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="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"><a class="line" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40">   23</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40">ConsumerType</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#ac3e442abe2558a2b257fc7344af61d40a915cd237340dcd1d212f8d398f3d91ac">   28</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40a915cd237340dcd1d212f8d398f3d91ac">ConsumerExclusive</a>,</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40ac55370821e835a03c2da742ab27e1705">   34</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40ac55370821e835a03c2da742ab27e1705">ConsumerShared</a>,</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#ac3e442abe2558a2b257fc7344af61d40aadffd5f0d50b1da36685230cd3f910a1">   39</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40aadffd5f0d50b1da36685230cd3f910a1">ConsumerFailover</a>,</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">   45</span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40acb902cf3781caf307d06e37dc447d5cc">ConsumerKeyShared</a></div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40acb902cf3781caf307d06e37dc447d5cc">   46</a></span>};</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="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_ac3e442abe2558a2b257fc7344af61d40"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40">pulsar::ConsumerType</a></div><div class="ttdeci">ConsumerType</div><div class="ttdef"><b>Definition</b> ConsumerType.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac3e442abe2558a2b257fc7344af61d40a915cd237340dcd1d212f8d398f3d91ac"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40a915cd237340dcd1d212f8d398f3d91ac">pulsar::ConsumerExclusive</a></div><div class="ttdeci">@ ConsumerExclusive</div><div class="ttdef"><b>Definition</b> ConsumerType.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac3e442abe2558a2b257fc7344af61d40aadffd5f0d50b1da36685230cd3f910a1"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40aadffd5f0d50b1da36685230cd3f910a1">pulsar::ConsumerFailover</a></div><div class="ttdeci">@ ConsumerFailover</div><div class="ttdef"><b>Definition</b> ConsumerType.h:39</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac3e442abe2558a2b257fc7344af61d40ac55370821e835a03c2da742ab27e1705"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40ac55370821e835a03c2da742ab27e1705">pulsar::ConsumerShared</a></div><div class="ttdeci">@ ConsumerShared</div><div class="ttdef"><b>Definition</b> ConsumerType.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html_ac3e442abe2558a2b257fc7344af61d40acb902cf3781caf307d06e37dc447d5cc"><div class="ttname"><a href="namespacepulsar.html#ac3e442abe2558a2b257fc7344af61d40acb902cf3781caf307d06e37dc447d5cc">pulsar::ConsumerKeyShared</a></div><div class="ttdeci">@ ConsumerKeyShared</div><div class="ttdef"><b>Definition</b> ConsumerType.h:45</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_crypto_key_reader_8h_source.html b/static/api/cpp/3.3.x/_crypto_key_reader_8h_source.html
new file mode 100644
index 00000000000..29f9b8260d8
--- /dev/null
+++ b/static/api/cpp/3.3.x/_crypto_key_reader_8h_source.html
@@ -0,0 +1,142 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">CryptoKeyReader.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef CRYPTOKEYREADER_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define CRYPTOKEYREADER_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/EncryptionKeyInfo.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_crypto_key_reader.html">CryptoKeyReader</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_crypto_key_reader.html">CryptoKeyReader</a>();</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_crypto_key_reader.html">~CryptoKeyReader</a>();</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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_crypto_key_reader.html#a57456a577dc20b00229bb139bf025aee">getPublicKey</a>(<span class="keyword">const</span> std [...]
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>                                <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="classpulsar_1_1_crypto_key_reader.html#a33a3b281068df053226bb50b59280be0">   63</a></span>    <span class="keyword">virtual</span> <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_crypto_key_reader.html#a33a3b281068df053226bb50b59280be0">getPrivateKey</a>(<span class="keyword">const</span> st [...]
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>                                 <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span> = 0;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>}; <span class="comment">/* namespace pulsar */</span></div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span><span class="keyword">typedef</span> std::shared_ptr&lt;CryptoKeyReader&gt; CryptoKeyReaderPtr;</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span> </div>
+<div class="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_class" href="classpulsar_1_1_default_crypto_key_reader.html">DefaultCryptoKeyReader</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_crypto_key_reader.html">CryptoKeyReader</a> {</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(std::string fileName, std::string&amp; fileContents) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">   86</a></span>    <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">DefaultCryptoKeyReader</a>(<span class="keyword">const</span> std::string&amp; publicKeyPath, <span class="keyword">const</span> std::string&amp; privateKeyPath);</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <a class="code hl_class" href="classpulsar_1_1_default_crypto_key_reader.html">~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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#a77289250ef58adf938335f241eeb748f">getPublicKey</a>(<span class="keyword">const</span> std::string&amp; keyName [...]
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>                        <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="classpulsar_1_1_default_crypto_key_reader.html#abef165b0c67acb92eb73283564e8dbb5">  116</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_default_crypto_key_reader.html#abef165b0c67acb92eb73283564e8dbb5">getPrivateKey</a>(<span class="keyword">const</span> std::string&amp; keyNam [...]
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>                         <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>&amp; encKeyInfo) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keyword">static</span> CryptoKeyReaderPtr create(<span class="keyword">const</span> std::string&amp; publicKeyPath, <span class="keyword">const</span> std::string&amp; privateKeyPath);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>}; <span class="comment">/* namespace pulsar */</span></div>
+<div 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"><div class="ttname"><a href="classpulsar_1_1_crypto_key_reader.html">pulsar::CryptoKeyReader</a></div><div class="ttdef"><b>Definition</b> CryptoKeyReader.h:31</div></div>
+<div class="ttc" id="aclasspulsar_1_1_crypto_key_reader_html_a33a3b281068df053226bb50b59280be0"><div class="ttname"><a href="classpulsar_1_1_crypto_key_reader.html#a33a3b281068df053226bb50b59280be0">pulsar::CryptoKeyReader::getPrivateKey</a></div><div class="ttdeci">virtual Result getPrivateKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const =0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_crypto_key_reader_html_a57456a577dc20b00229bb139bf025aee"><div class="ttname"><a href="classpulsar_1_1_crypto_key_reader.html#a57456a577dc20b00229bb139bf025aee">pulsar::CryptoKeyReader::getPublicKey</a></div><div class="ttdeci">virtual Result getPublicKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const =0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html">pulsar::DefaultCryptoKeyReader</a></div><div class="ttdef"><b>Definition</b> CryptoKeyReader.h:70</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html_a77289250ef58adf938335f241eeb748f"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html#a77289250ef58adf938335f241eeb748f">pulsar::DefaultCryptoKeyReader::getPublicKey</a></div><div class="ttdeci">Result getPublicKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html_abef165b0c67acb92eb73283564e8dbb5"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html#abef165b0c67acb92eb73283564e8dbb5">pulsar::DefaultCryptoKeyReader::getPrivateKey</a></div><div class="ttdeci">Result getPrivateKey(const std::string &amp;keyName, std::map&lt; std::string, std::string &gt; &amp;metadata, EncryptionKeyInfo &amp;encKeyInfo) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_default_crypto_key_reader_html_ae4b1b1f371da031b371e318aa883d5a0"><div class="ttname"><a href="classpulsar_1_1_default_crypto_key_reader.html#ae4b1b1f371da031b371e318aa883d5a0">pulsar::DefaultCryptoKeyReader::DefaultCryptoKeyReader</a></div><div class="ttdeci">DefaultCryptoKeyReader(const std::string &amp;publicKeyPath, const std::string &amp;privateKeyPath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html">pulsar::EncryptionKeyInfo</a></div><div class="ttdef"><b>Definition</b> EncryptionKeyInfo.h:35</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_dead_letter_policy_8h_source.html b/static/api/cpp/3.3.x/_dead_letter_policy_8h_source.html
new file mode 100644
index 00000000000..be5c55e4d90
--- /dev/null
+++ b/static/api/cpp/3.3.x/_dead_letter_policy_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">DeadLetterPolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef DEAD_LETTER_POLICY_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define DEAD_LETTER_POLICY_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">struct </span>DeadLetterPolicyImpl;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</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="l00038" name="l00038"></a><span class="lineno">   38</span>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a>();</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html#aff7c4ae5d89b501a238b3a3c1adbd073">   45</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy.html#aff7c4ae5d89b501a238b3a3c1adbd073">getDeadLetterTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html#a29c6c16740a31fed4a357f43298f98bc">   52</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy.html#a29c6c16740a31fed4a357f43298f98bc">getMaxRedeliverCount</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy.html#a889b65c5ac7a57ebfcc347c87f5e8555">   59</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy.html#a889b65c5ac7a57ebfcc347c87f5e8555">getInitialSubscriptionName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a>;</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;DeadLetterPolicyImpl&gt; DeadLetterPolicyImplPtr;</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>    DeadLetterPolicyImplPtr impl_;</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>    <span class="keyword">explicit</span> <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a>(<span class="keyword">const</span> DeadLetterPolicyImplPtr&amp; impl);</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>};</div>
+<div 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_builder_html"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html">pulsar::DeadLetterPolicyBuilder</a></div><div class="ttdef"><b>Definition</b> DeadLetterPolicyBuilder.h:44</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_dead_letter_policy_html_a29c6c16740a31fed4a357f43298f98bc"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html#a29c6c16740a31fed4a357f43298f98bc">pulsar::DeadLetterPolicy::getMaxRedeliverCount</a></div><div class="ttdeci">int getMaxRedeliverCount() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html_a889b65c5ac7a57ebfcc347c87f5e8555"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html#a889b65c5ac7a57ebfcc347c87f5e8555">pulsar::DeadLetterPolicy::getInitialSubscriptionName</a></div><div class="ttdeci">const std::string &amp; getInitialSubscriptionName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html_aff7c4ae5d89b501a238b3a3c1adbd073"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html#aff7c4ae5d89b501a238b3a3c1adbd073">pulsar::DeadLetterPolicy::getDeadLetterTopic</a></div><div class="ttdeci">const std::string &amp; getDeadLetterTopic() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_dead_letter_policy_builder_8h_source.html b/static/api/cpp/3.3.x/_dead_letter_policy_builder_8h_source.html
new file mode 100644
index 00000000000..90cd56bddbd
--- /dev/null
+++ b/static/api/cpp/3.3.x/_dead_letter_policy_builder_8h_source.html
@@ -0,0 +1,124 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">DeadLetterPolicyBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef DEAD_LETTER_POLICY_BUILD_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define DEAD_LETTER_POLICY_BUILD_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/DeadLetterPolicy.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">struct </span>DeadLetterPolicyImpl;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a>();</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>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#a60326f125a4d44099a6eab0d5a64aa22">deadLetterTopic</a>(<span class="keyword">const</span> std::strin [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#ad34f023e1018f636ed488c533e645661">maxRedeliverCount</a>(<span class="keywordtype">int</span> maxRed [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#ac2c21735aeb67ffc97ed49351b1de4b0">initialSubscriptionName</a>(<span class="keyword">const</span> st [...]
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classpulsar_1_1_dead_letter_policy_builder.html#a49862689af514682dae0279889da6c03">   87</a></span>    <a class="code hl_class" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a> <a class="code hl_function" href="classpulsar_1_1_dead_letter_policy_builder.html#a49862689af514682dae0279889da6c03">build</a>();</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    std::shared_ptr&lt;DeadLetterPolicyImpl&gt; impl_;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>};</div>
+<div 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"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html">pulsar::DeadLetterPolicyBuilder</a></div><div class="ttdef"><b>Definition</b> DeadLetterPolicyBuilder.h:44</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_a49862689af514682dae0279889da6c03"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#a49862689af514682dae0279889da6c03">pulsar::DeadLetterPolicyBuilder::build</a></div><div class="ttdeci">DeadLetterPolicy build()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_a60326f125a4d44099a6eab0d5a64aa22"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#a60326f125a4d44099a6eab0d5a64aa22">pulsar::DeadLetterPolicyBuilder::deadLetterTopic</a></div><div class="ttdeci">DeadLetterPolicyBuilder &amp; deadLetterTopic(const std::string &amp;deadLetterTopic)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_ac2c21735aeb67ffc97ed49351b1de4b0"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#ac2c21735aeb67ffc97ed49351b1de4b0">pulsar::DeadLetterPolicyBuilder::initialSubscriptionName</a></div><div class="ttdeci">DeadLetterPolicyBuilder &amp; initialSubscriptionName(const std::string &amp;initialSubscriptionName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_builder_html_ad34f023e1018f636ed488c533e645661"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy_builder.html#ad34f023e1018f636ed488c533e645661">pulsar::DeadLetterPolicyBuilder::maxRedeliverCount</a></div><div class="ttdeci">DeadLetterPolicyBuilder &amp; maxRedeliverCount(int maxRedeliverCount)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_dead_letter_policy_html"><div class="ttname"><a href="classpulsar_1_1_dead_letter_policy.html">pulsar::DeadLetterPolicy</a></div><div class="ttdef"><b>Definition</b> DeadLetterPolicy.h:36</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_deprecated_exception_8h_source.html b/static/api/cpp/3.3.x/_deprecated_exception_8h_source.html
new file mode 100644
index 00000000000..43f975fa41c
--- /dev/null
+++ b/static/api/cpp/3.3.x/_deprecated_exception_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">DeprecatedException.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef DEPRECATED_EXCEPTION_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define DEPRECATED_EXCEPTION_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_deprecated_exception.html">DeprecatedException</a> : <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> <a class="code hl_class" href="classpulsar_1_1_deprecated_exception.html">DeprecatedException</a>(<span class="keyword">const</span> std::string&amp; __arg);</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    <span class="keyword">static</span> <span class="keyword">const</span> std::string message_prefix;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>};</div>
+<div 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="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="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_encryption_key_info_8h_source.html b/static/api/cpp/3.3.x/_encryption_key_info_8h_source.html
new file mode 100644
index 00000000000..5389f57245d
--- /dev/null
+++ b/static/api/cpp/3.3.x/_encryption_key_info_8h_source.html
@@ -0,0 +1,142 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">EncryptionKeyInfo.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef ENCRYPTIONKEYINFO_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define ENCRYPTIONKEYINFO_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>EncryptionKeyInfoImpl;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::shared_ptr&lt;EncryptionKeyInfoImpl&gt; EncryptionKeyInfoImplPtr;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    <span class="comment">/*</span></div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="comment">     * This object contains the encryption key and corresponding metadata which contains</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="comment">     * additional information about the key such as version, timestammp</span></div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="comment">     */</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    <span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>();</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#ab5a636493c0a9dc6c4e8ddbf1d0524d9">   50</a></span>    <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#ab5a636493c0a9dc6c4e8ddbf1d0524d9">EncryptionKeyInfo</a>(std::string key, StringMap&amp; metadata);</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#a39565fd1977a4051305c7dde26549041">   55</a></span>    std::string&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a39565fd1977a4051305c7dde26549041">getKey</a>();</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#a243fb74066b5d6c7153660a4a5cd3290">   62</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a243fb74066b5d6c7153660a4a5cd3290">setKey</a>(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&amp; <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a7cd86c8e529db92625420de3bc2e8532">getMetadata</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classpulsar_1_1_encryption_key_info.html#a7ae2f1225fb8897ebbcc74cc7753cfaf">   74</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_encryption_key_info.html#a7ae2f1225fb8897ebbcc74cc7753cfaf">setMetadata</a>(StringMap&amp; metadata);</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>    <span class="keyword">explicit</span> <a class="code hl_class" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a>(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 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"><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="aclasspulsar_1_1_encryption_key_info_html_a243fb74066b5d6c7153660a4a5cd3290"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a243fb74066b5d6c7153660a4a5cd3290">pulsar::EncryptionKeyInfo::setKey</a></div><div class="ttdeci">void setKey(std::string key)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_a39565fd1977a4051305c7dde26549041"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a39565fd1977a4051305c7dde26549041">pulsar::EncryptionKeyInfo::getKey</a></div><div class="ttdeci">std::string &amp; getKey()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_a7ae2f1225fb8897ebbcc74cc7753cfaf"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a7ae2f1225fb8897ebbcc74cc7753cfaf">pulsar::EncryptionKeyInfo::setMetadata</a></div><div class="ttdeci">void setMetadata(StringMap &amp;metadata)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_a7cd86c8e529db92625420de3bc2e8532"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#a7cd86c8e529db92625420de3bc2e8532">pulsar::EncryptionKeyInfo::getMetadata</a></div><div class="ttdeci">StringMap &amp; getMetadata(void)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_encryption_key_info_html_ab5a636493c0a9dc6c4e8ddbf1d0524d9"><div class="ttname"><a href="classpulsar_1_1_encryption_key_info.html#ab5a636493c0a9dc6c4e8ddbf1d0524d9">pulsar::EncryptionKeyInfo::EncryptionKeyInfo</a></div><div class="ttdeci">EncryptionKeyInfo(std::string key, StringMap &amp;metadata)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_file_logger_factory_8h_source.html b/static/api/cpp/3.3.x/_file_logger_factory_8h_source.html
new file mode 100644
index 00000000000..df7f2b3633e
--- /dev/null
+++ b/static/api/cpp/3.3.x/_file_logger_factory_8h_source.html
@@ -0,0 +1,114 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Logger.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="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>FileLoggerFactoryImpl;</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classpulsar_1_1_file_logger_factory.html">   47</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_file_logger_factory.html">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="l00048" name="l00048"></a><span class="lineno">   48</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">   55</a></span>    <a class="code hl_function" href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">FileLoggerFactory</a>(Logger::Level level, <span class="keyword">const</span> std::string&amp; logFilePath);</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>    <a class="code hl_class" href="classpulsar_1_1_file_logger_factory.html">~FileLoggerFactory</a>();</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"><a class="line" href="classpulsar_1_1_file_logger_factory.html#a196cbae406d25a82ea6112578ef42126">   59</a></span>    <a class="code hl_class" href="classpulsar_1_1_logger.html">pulsar::Logger</a>* <a class="code hl_function" href="classpulsar_1_1_file_logger_factory.html#a196cbae406d25a82ea6112578ef42126">getLogger</a>(<span class="keyword">const</span> std::string&amp; filename) <span class="keyword">override</span [...]
+<div class="line"><a id="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>    std::unique_ptr&lt;FileLoggerFactoryImpl&gt; impl_;</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> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_file_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_file_logger_factory.html">pulsar::FileLoggerFactory</a></div><div class="ttdef"><b>Definition</b> FileLoggerFactory.h:47</div></div>
+<div class="ttc" id="aclasspulsar_1_1_file_logger_factory_html_a196cbae406d25a82ea6112578ef42126"><div class="ttname"><a href="classpulsar_1_1_file_logger_factory.html#a196cbae406d25a82ea6112578ef42126">pulsar::FileLoggerFactory::getLogger</a></div><div class="ttdeci">pulsar::Logger * getLogger(const std::string &amp;filename) override</div></div>
+<div class="ttc" id="aclasspulsar_1_1_file_logger_factory_html_a295a3b87a6a73a67bb8f805b3a4769b5"><div class="ttname"><a href="classpulsar_1_1_file_logger_factory.html#a295a3b87a6a73a67bb8f805b3a4769b5">pulsar::FileLoggerFactory::FileLoggerFactory</a></div><div class="ttdeci">FileLoggerFactory(Logger::Level level, const std::string &amp;logFilePath)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html"><div class="ttname"><a href="classpulsar_1_1_logger.html">pulsar::Logger</a></div><div class="ttdef"><b>Definition</b> Logger.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_initial_position_8h_source.html b/static/api/cpp/3.3.x/_initial_position_8h_source.html
new file mode 100644
index 00000000000..28c150c098a
--- /dev/null
+++ b/static/api/cpp/3.3.x/_initial_position_8h_source.html
@@ -0,0 +1,100 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="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><span class="keyword">enum</span> InitialPosition</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>    InitialPositionLatest,</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span>    InitialPositionEarliest</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>}</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">#endif  </span><span class="comment">// PULSAR_CPP_INITIAL_POSITION_H</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_key_shared_policy_8h_source.html b/static/api/cpp/3.3.x/_key_shared_policy_8h_source.html
new file mode 100644
index 00000000000..fefc2445bba
--- /dev/null
+++ b/static/api/cpp/3.3.x/_key_shared_policy_8h_source.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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">KeySharedPolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;utility&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04">   32</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04">KeySharedMode</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> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04a1dce3e502d8e018e90f97c07b37cde1f">   38</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04a1dce3e502d8e018e90f97c07b37cde1f">AUTO_SPLIT</a> = 0,</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04aed98d14aabee0f3bc70a0cc7723e5b16">STICKY</a> = 1</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04aed98d14aabee0f3bc70a0cc7723e5b16">   45</a></span>};</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="keyword">struct </span>KeySharedPolicyImpl;</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">typedef</span> std::pair&lt;int, int&gt; StickyRange;</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="keyword">typedef</span> std::vector&lt;StickyRange&gt; StickyRanges;</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="classpulsar_1_1_key_shared_policy.html">   52</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</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="l00054" name="l00054"></a><span class="lineno">   54</span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>();</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">~KeySharedPolicy</a>();</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">   57</span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp;);</div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp;);</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a421a7227c39ba3c199ec86c40b6b5c75">   64</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_key_shared_policy.html#a421a7227c39ba3c199ec86c40b6b5c75">clone</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="l00072" name="l00072"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a7ecef0d315c8955a5223d07f11213aa2">   72</a></span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a7ecef0d315c8955a5223d07f11213aa2">setKeySharedMode</a>(<a class="code hl_enumeration" href="namespacepulsar.html#a499d1327931169d068b9 [...]
+<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="classpulsar_1_1_key_shared_policy.html#a49efb8082529c20caf4eb1e825a0edb2">   77</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04">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="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#a5ebe39804f4e2c7a6cc31d1ef7d58e6a">   89</a></span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#a5ebe39804f4e2c7a6cc31d1ef7d58e6a">setAllowOutOfOrderDelivery</a>(<span class="keywordtype">bool</span> allowOutOfOrderDelivery);</div>
+<div class="line"><a id="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_key_shared_policy.html#ac79edf430990c158e23886c21f6f2fea">   94</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="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_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">  100</a></span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">setStickyRanges</a>(std::initializer_list&lt;StickyRange&gt; ranges);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">  105</a></span>    <a class="code hl_class" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a>&amp; <a class="code hl_function" href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">setStickyRanges</a>(<span class="keyword">const</span> StickyRanges&amp; ranges);</div>
+<div class="line"><a id="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_key_shared_policy.html#a99d2a2c1555003f42213b3eb4c6742f6">  110</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="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">private</span>:</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    std::shared_ptr&lt;KeySharedPolicyImpl&gt; impl_;</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_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:52</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a421a7227c39ba3c199ec86c40b6b5c75"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a421a7227c39ba3c199ec86c40b6b5c75">pulsar::KeySharedPolicy::clone</a></div><div class="ttdeci">KeySharedPolicy clone() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a49efb8082529c20caf4eb1e825a0edb2"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a49efb8082529c20caf4eb1e825a0edb2">pulsar::KeySharedPolicy::getKeySharedMode</a></div><div class="ttdeci">KeySharedMode getKeySharedMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a5ebe39804f4e2c7a6cc31d1ef7d58e6a"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a5ebe39804f4e2c7a6cc31d1ef7d58e6a">pulsar::KeySharedPolicy::setAllowOutOfOrderDelivery</a></div><div class="ttdeci">KeySharedPolicy &amp; setAllowOutOfOrderDelivery(bool allowOutOfOrderDelivery)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a7ecef0d315c8955a5223d07f11213aa2"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a7ecef0d315c8955a5223d07f11213aa2">pulsar::KeySharedPolicy::setKeySharedMode</a></div><div class="ttdeci">KeySharedPolicy &amp; setKeySharedMode(KeySharedMode keySharedMode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_a99d2a2c1555003f42213b3eb4c6742f6"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#a99d2a2c1555003f42213b3eb4c6742f6">pulsar::KeySharedPolicy::getStickyRanges</a></div><div class="ttdeci">StickyRanges getStickyRanges() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_aa76f2ad0ea56748d2f7c52d5a269d6d9"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#aa76f2ad0ea56748d2f7c52d5a269d6d9">pulsar::KeySharedPolicy::setStickyRanges</a></div><div class="ttdeci">KeySharedPolicy &amp; setStickyRanges(const StickyRanges &amp;ranges)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_ac79edf430990c158e23886c21f6f2fea"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#ac79edf430990c158e23886c21f6f2fea">pulsar::KeySharedPolicy::isAllowOutOfOrderDelivery</a></div><div class="ttdeci">bool isAllowOutOfOrderDelivery() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_shared_policy_html_adc25d81437fa23ab5eec077c3600bc73"><div class="ttname"><a href="classpulsar_1_1_key_shared_policy.html#adc25d81437fa23ab5eec077c3600bc73">pulsar::KeySharedPolicy::setStickyRanges</a></div><div class="ttdeci">KeySharedPolicy &amp; setStickyRanges(std::initializer_list&lt; StickyRange &gt; ranges)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a499d1327931169d068b9b353f106dd04"><div class="ttname"><a href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04">pulsar::KeySharedMode</a></div><div class="ttdeci">KeySharedMode</div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:33</div></div>
+<div class="ttc" id="anamespacepulsar_html_a499d1327931169d068b9b353f106dd04a1dce3e502d8e018e90f97c07b37cde1f"><div class="ttname"><a href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04a1dce3e502d8e018e90f97c07b37cde1f">pulsar::AUTO_SPLIT</a></div><div class="ttdeci">@ AUTO_SPLIT</div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:38</div></div>
+<div class="ttc" id="anamespacepulsar_html_a499d1327931169d068b9b353f106dd04aed98d14aabee0f3bc70a0cc7723e5b16"><div class="ttname"><a href="namespacepulsar.html#a499d1327931169d068b9b353f106dd04aed98d14aabee0f3bc70a0cc7723e5b16">pulsar::STICKY</a></div><div class="ttdeci">@ STICKY</div><div class="ttdef"><b>Definition</b> KeySharedPolicy.h:44</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_key_value_8h_source.html b/static/api/cpp/3.3.x/_key_value_8h_source.html
new file mode 100644
index 00000000000..c1f3a40732a
--- /dev/null
+++ b/static/api/cpp/3.3.x/_key_value_8h_source.html
@@ -0,0 +1,131 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">KeyValue.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef KEY_VALUE_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define KEY_VALUE_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &quot;Schema.h&quot;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &quot;defines.h&quot;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>KeyValueImpl;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="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_class" href="classpulsar_1_1_key_value.html">KeyValue</a> {</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">   44</a></span>    <a class="code hl_function" href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">KeyValue</a>(std::string &amp;&amp;key, std::string &amp;&amp;value);</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a47a193a9bb59fba4b30691a695861272">   51</a></span>    std::string <a class="code hl_function" href="classpulsar_1_1_key_value.html#a47a193a9bb59fba4b30691a695861272">getKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a53158bdf562d12f14c7254e6d4b55b37">   59</a></span>    <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code hl_function" href="classpulsar_1_1_key_value.html#a53158bdf562d12f14c7254e6d4b55b37">getValue</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a3c51a0e66e5935c62dfbdb8e0908cf15">   66</a></span>    <span class="keywordtype">size_t</span> <a class="code hl_function" href="classpulsar_1_1_key_value.html#a3c51a0e66e5935c62dfbdb8e0908cf15">getValueLength</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_key_value.html#a573eeb6042d04adec7be3d8c46ea2590">   73</a></span>    std::string <a class="code hl_function" href="classpulsar_1_1_key_value.html#a573eeb6042d04adec7be3d8c46ea2590">getValueAsString</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;KeyValueImpl&gt; KeyValueImplPtr;</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>    <a class="code hl_class" href="classpulsar_1_1_key_value.html">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><a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>;</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><a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>;</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">// 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"><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_key_value_html_a3c51a0e66e5935c62dfbdb8e0908cf15"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a3c51a0e66e5935c62dfbdb8e0908cf15">pulsar::KeyValue::getValueLength</a></div><div class="ttdeci">size_t getValueLength() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a47a193a9bb59fba4b30691a695861272"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a47a193a9bb59fba4b30691a695861272">pulsar::KeyValue::getKey</a></div><div class="ttdeci">std::string getKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a53158bdf562d12f14c7254e6d4b55b37"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a53158bdf562d12f14c7254e6d4b55b37">pulsar::KeyValue::getValue</a></div><div class="ttdeci">const void * getValue() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a573eeb6042d04adec7be3d8c46ea2590"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a573eeb6042d04adec7be3d8c46ea2590">pulsar::KeyValue::getValueAsString</a></div><div class="ttdeci">std::string getValueAsString() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_key_value_html_a724959978481478da4e45ba79092edad"><div class="ttname"><a href="classpulsar_1_1_key_value.html#a724959978481478da4e45ba79092edad">pulsar::KeyValue::KeyValue</a></div><div class="ttdeci">KeyValue(std::string &amp;&amp;key, std::string &amp;&amp;value)</div></div>
+<div class="ttc" id="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"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_logger_8h_source.html b/static/api/cpp/3.3.x/_logger_8h_source.html
new file mode 100644
index 00000000000..3c3c872b024
--- /dev/null
+++ b/static/api/cpp/3.3.x/_logger_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Logger.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="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</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    {</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>        LEVEL_DEBUG = 0,</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>        LEVEL_INFO = 1,</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>        LEVEL_WARN = 2,</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>        LEVEL_ERROR = 3</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    };</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_logger.html">~Logger</a>() {}</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger.html#a6d09f80fd8f35d5634af94a1305c86af">   46</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_logger.html#a6d09f80fd8f35d5634af94a1305c86af">isEnabled</a>(Level level) = 0;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger.html#a753385116eb2e4d73c075de94cc2039b">   55</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_logger.html#a753385116eb2e4d73c075de94cc2039b">log</a>(Level level, <span class="keywordtype">int</span> line, <span class="keyword">const</span> std::string&amp; message) = 0;</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>};</div>
+<div 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"><a class="line" href="classpulsar_1_1_logger_factory.html">   58</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_logger_factory.html">LoggerFactory</a> {</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_logger_factory.html">~LoggerFactory</a>() {}</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_logger_factory.html#ae2b97aec20f730fe5e77f24ed048380f">   69</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_logger.html">Logger</a>* <a class="code hl_function" href="classpulsar_1_1_logger_factory.html#ae2b97aec20f730fe5e77f24ed048380f">getLogger</a>(<span class="keyword">const</span> std::string&amp; fileName) = 0;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>};</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html">pulsar::LoggerFactory</a></div><div class="ttdef"><b>Definition</b> Logger.h:58</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_factory_html_ae2b97aec20f730fe5e77f24ed048380f"><div class="ttname"><a href="classpulsar_1_1_logger_factory.html#ae2b97aec20f730fe5e77f24ed048380f">pulsar::LoggerFactory::getLogger</a></div><div class="ttdeci">virtual Logger * getLogger(const std::string &amp;fileName)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html"><div class="ttname"><a href="classpulsar_1_1_logger.html">pulsar::Logger</a></div><div class="ttdef"><b>Definition</b> Logger.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html_a6d09f80fd8f35d5634af94a1305c86af"><div class="ttname"><a href="classpulsar_1_1_logger.html#a6d09f80fd8f35d5634af94a1305c86af">pulsar::Logger::isEnabled</a></div><div class="ttdeci">virtual bool isEnabled(Level level)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_logger_html_a753385116eb2e4d73c075de94cc2039b"><div class="ttname"><a href="classpulsar_1_1_logger.html#a753385116eb2e4d73c075de94cc2039b">pulsar::Logger::log</a></div><div class="ttdeci">virtual void log(Level level, int line, const std::string &amp;message)=0</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_message_8h_source.html b/static/api/cpp/3.3.x/_message_8h_source.html
new file mode 100644
index 00000000000..4b3a4f56fd0
--- /dev/null
+++ b/static/api/cpp/3.3.x/_message_8h_source.html
@@ -0,0 +1,223 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Message.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef MESSAGE_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define MESSAGE_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &quot;KeyValue.h&quot;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &quot;MessageId.h&quot;</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">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><span class="keyword">namespace </span>proto {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">class </span>CommandMessage;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">class </span>BrokerEntryMetadata;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">class </span>MessageMetadata;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="keyword">class </span>SingleMessageMetadata;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>}  <span class="comment">// namespace proto</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="keyword">class </span>SharedBuffer;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="keyword">class </span>MessageBuilder;</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keyword">class </span>MessageImpl;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">class </span>PulsarWrapper;</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"><a class="line" href="classpulsar_1_1_message.html">   44</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> {</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>    <span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</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>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>();</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#adb69adf5f4e63cf0fb9fef0f7bc7281c">   56</a></span>    <span class="keyword">const</span> StringMap&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#adb69adf5f4e63cf0fb9fef0f7bc7281c">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ad3e557ed946f94e6964147a8389532bd">   65</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_message.html#ad3e557ed946f94e6964147a8389532bd">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="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_message.html#a69b6576136ccce73f448e2dbaad8d357">   73</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#a69b6576136ccce73f448e2dbaad8d357">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">   81</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="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.html#aa47d8ca71292939d4d15e4b543835234">   88</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="l00089" name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span><span class="preprocessor">#if defined(_MSC_VER) &amp;&amp; !defined(NDEBUG)</span></div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>    <span class="keyword">const</span> std::string&amp; getDataAsString() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span><span class="preprocessor">#else</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a45863405a4d3804cc8415d22d502f5c5">  101</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="l00102" name="l00102"></a><span class="lineno">  102</span><span class="preprocessor">#endif</span></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.html#a2d282f106addab953cf7b831ffb3f067">  109</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="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ad86803a4284b722117abb650c6db0aef">  120</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#ad86803a4284b722117abb650c6db0aef">getMessageId</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a441a530a2943fc45133690bda73a113a">  126</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message.html#a441a530a2943fc45133690bda73a113a">setMessageId</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId) <span class="keyword">const</spa [...]
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a7412304904208c662b346d6328b14261">  132</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="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a121f31f3216678187c069c681b3b4d7e">  138</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#a121f31f3216678187c069c681b3b4d7e">getPartitionKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="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_message.html#a171e78738da5932678cfd83c347186bf">  143</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="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ab237804a174974f73bb73970b0163c65">  150</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#ab237804a174974f73bb73970b0163c65">getOrderingKey</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ad29a0aeda1dbb934e7c3311d85d0aa02">  158</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="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#ac0a02a1da349789215e6f1a3b6e3f180">  164</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="l00165" name="l00165"></a><span class="lineno">  165</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a952c044fb615b886070bcda08f7ba9f6">  169</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="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_message.html#adb7dacb620c7fad56f0aa1d6ae52bb88">  174</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#adb7dacb620c7fad56f0aa1d6ae52bb88">getTopicName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#aca393b369e6c9ba90c38acac37b54d60">  179</a></span>    <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_message.html#aca393b369e6c9ba90c38acac37b54d60">getRedeliveryCount</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span> </div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a51dee56cd5f71a4d4c2cae8a1b42feef">  184</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="l00185" name="l00185"></a><span class="lineno">  185</span> </div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#a4a4d35b3098d18b04f998764d3c2ce76">  191</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="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_message.html#ac39590d8db47e6011c4185664350f52d">  196</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message.html#ac39590d8db47e6011c4185664350f52d">getSchemaVersion</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="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="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span> </div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;MessageImpl&gt; MessageImplPtr;</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>    MessageImplPtr impl_;</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>(MessageImplPtr&amp; impl);</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, proto::BrokerEntryMetadata&amp; brokerEntryMetadata,</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>            proto::MessageMetadata&amp; metadata, SharedBuffer&amp; payload);</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message.html#aa3c4673ec7b3c99cc3faf9aa931a4531">  208</a></span>    <a class="code hl_function" href="classpulsar_1_1_message.html#aa3c4673ec7b3c99cc3faf9aa931a4531">Message</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId, proto::BrokerEntryMetadata&amp; brokerEntryMetadata,</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>            proto::MessageMetadata&amp; metadata, SharedBuffer&amp; payload,</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>            proto::SingleMessageMetadata&amp; singleMetadata, <span class="keyword">const</span> std::shared_ptr&lt;std::string&gt;&amp; topicName);</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PartitionedProducerImpl;</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>    <span class="keyword">friend</span> <span class="keyword">class </span>MultiTopicsConsumerImpl;</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>    <span class="keyword">friend</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="l00214" name="l00214"></a><span class="lineno">  214</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ProducerImpl;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span>    <span class="keyword">friend</span> <span class="keyword">class </span>Commands;</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>    <span class="keyword">friend</span> <span class="keyword">class </span>BatchMessageContainerBase;</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>    <span class="keyword">friend</span> <span class="keyword">class </span>BatchAcknowledgementTracker;</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_message_batch.html">MessageBatch</a>;</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>    <span class="keyword">friend</span> <span class="keyword">struct </span>OpSendMsg;</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>    <span class="keyword">friend</span> PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, <span class="keyword">const</span> StringMap&amp; map);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>    <span class="keyword">friend</span> PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg);</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</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>}  <span class="comment">// namespace pulsar</span></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="preprocessor">#endif </span><span class="comment">/* MESSAGE_HPP_ */</span><span class="preprocessor"></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_batch_html"><div class="ttname"><a href="classpulsar_1_1_message_batch.html">pulsar::MessageBatch</a></div><div class="ttdef"><b>Definition</b> MessageBatch.h:29</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"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a121f31f3216678187c069c681b3b4d7e"><div class="ttname"><a href="classpulsar_1_1_message.html#a121f31f3216678187c069c681b3b4d7e">pulsar::Message::getPartitionKey</a></div><div class="ttdeci">const std::string &amp; getPartitionKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a171e78738da5932678cfd83c347186bf"><div class="ttname"><a href="classpulsar_1_1_message.html#a171e78738da5932678cfd83c347186bf">pulsar::Message::hasPartitionKey</a></div><div class="ttdeci">bool hasPartitionKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a2d282f106addab953cf7b831ffb3f067"><div class="ttname"><a href="classpulsar_1_1_message.html#a2d282f106addab953cf7b831ffb3f067">pulsar::Message::getKeyValueData</a></div><div class="ttdeci">KeyValue getKeyValueData() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a441a530a2943fc45133690bda73a113a"><div class="ttname"><a href="classpulsar_1_1_message.html#a441a530a2943fc45133690bda73a113a">pulsar::Message::setMessageId</a></div><div class="ttdeci">void setMessageId(const MessageId &amp;messageId) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a45863405a4d3804cc8415d22d502f5c5"><div class="ttname"><a href="classpulsar_1_1_message.html#a45863405a4d3804cc8415d22d502f5c5">pulsar::Message::getDataAsString</a></div><div class="ttdeci">std::string getDataAsString() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a4a4d35b3098d18b04f998764d3c2ce76"><div class="ttname"><a href="classpulsar_1_1_message.html#a4a4d35b3098d18b04f998764d3c2ce76">pulsar::Message::getLongSchemaVersion</a></div><div class="ttdeci">int64_t getLongSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a51dee56cd5f71a4d4c2cae8a1b42feef"><div class="ttname"><a href="classpulsar_1_1_message.html#a51dee56cd5f71a4d4c2cae8a1b42feef">pulsar::Message::hasSchemaVersion</a></div><div class="ttdeci">bool hasSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a69b6576136ccce73f448e2dbaad8d357"><div class="ttname"><a href="classpulsar_1_1_message.html#a69b6576136ccce73f448e2dbaad8d357">pulsar::Message::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_a7412304904208c662b346d6328b14261"><div class="ttname"><a href="classpulsar_1_1_message.html#a7412304904208c662b346d6328b14261">pulsar::Message::getIndex</a></div><div class="ttdeci">int64_t getIndex() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_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_aa3c4673ec7b3c99cc3faf9aa931a4531"><div class="ttname"><a href="classpulsar_1_1_message.html#aa3c4673ec7b3c99cc3faf9aa931a4531">pulsar::Message::Message</a></div><div class="ttdeci">Message(const MessageId &amp;messageId, proto::BrokerEntryMetadata &amp;brokerEntryMetadata, proto::MessageMetadata &amp;metadata, SharedBuffer &amp;payload, proto::SingleMessageMetadata &amp;singleMetadata, const std::shared_ptr&lt; std::string &gt; &amp;top [...]
+<div class="ttc" id="aclasspulsar_1_1_message_html_aa47d8ca71292939d4d15e4b543835234"><div class="ttname"><a href="classpulsar_1_1_message.html#aa47d8ca71292939d4d15e4b543835234">pulsar::Message::getLength</a></div><div class="ttdeci">std::size_t getLength() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ab237804a174974f73bb73970b0163c65"><div class="ttname"><a href="classpulsar_1_1_message.html#ab237804a174974f73bb73970b0163c65">pulsar::Message::getOrderingKey</a></div><div class="ttdeci">const std::string &amp; getOrderingKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ab485e3ff7dbefa8c0523ebaabef55d5d"><div class="ttname"><a href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">pulsar::Message::getData</a></div><div class="ttdeci">const void * getData() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ac0a02a1da349789215e6f1a3b6e3f180"><div class="ttname"><a href="classpulsar_1_1_message.html#ac0a02a1da349789215e6f1a3b6e3f180">pulsar::Message::getPublishTimestamp</a></div><div class="ttdeci">uint64_t getPublishTimestamp() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ac39590d8db47e6011c4185664350f52d"><div class="ttname"><a href="classpulsar_1_1_message.html#ac39590d8db47e6011c4185664350f52d">pulsar::Message::getSchemaVersion</a></div><div class="ttdeci">const std::string &amp; getSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_aca393b369e6c9ba90c38acac37b54d60"><div class="ttname"><a href="classpulsar_1_1_message.html#aca393b369e6c9ba90c38acac37b54d60">pulsar::Message::getRedeliveryCount</a></div><div class="ttdeci">const int getRedeliveryCount() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ad29a0aeda1dbb934e7c3311d85d0aa02"><div class="ttname"><a href="classpulsar_1_1_message.html#ad29a0aeda1dbb934e7c3311d85d0aa02">pulsar::Message::hasOrderingKey</a></div><div class="ttdeci">bool hasOrderingKey() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ad3e557ed946f94e6964147a8389532bd"><div class="ttname"><a href="classpulsar_1_1_message.html#ad3e557ed946f94e6964147a8389532bd">pulsar::Message::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_ad86803a4284b722117abb650c6db0aef"><div class="ttname"><a href="classpulsar_1_1_message.html#ad86803a4284b722117abb650c6db0aef">pulsar::Message::getMessageId</a></div><div class="ttdeci">const MessageId &amp; getMessageId() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_adb69adf5f4e63cf0fb9fef0f7bc7281c"><div class="ttname"><a href="classpulsar_1_1_message.html#adb69adf5f4e63cf0fb9fef0f7bc7281c">pulsar::Message::getProperties</a></div><div class="ttdeci">const StringMap &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html_adb7dacb620c7fad56f0aa1d6ae52bb88"><div class="ttname"><a href="classpulsar_1_1_message.html#adb7dacb620c7fad56f0aa1d6ae52bb88">pulsar::Message::getTopicName</a></div><div class="ttdeci">const std::string &amp; getTopicName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_message_batch_8h_source.html b/static/api/cpp/3.3.x/_message_batch_8h_source.html
new file mode 100644
index 00000000000..790b752c404
--- /dev/null
+++ b/static/api/cpp/3.3.x/_message_batch_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef LIB_MESSAGE_BATCH_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define LIB_MESSAGE_BATCH_H</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_message_batch.html">MessageBatch</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_message_batch.html">MessageBatch</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>    <a class="code hl_class" href="classpulsar_1_1_message_batch.html">MessageBatch</a>&amp; withMessageId(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>    <a class="code hl_class" href="classpulsar_1_1_message_batch.html">MessageBatch</a>&amp; parseFrom(<span class="keyword">const</span> std::string&amp; payload, uint32_t batchSize);</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    <a class="code hl_class" href="classpulsar_1_1_message_batch.html">MessageBatch</a>&amp; parseFrom(<span class="keyword">const</span> SharedBuffer&amp; payload, uint32_t batchSize);</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>    <span class="keyword">const</span> std::vector&lt;Message&gt;&amp; messages();</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;MessageImpl&gt; MessageImplPtr;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    MessageImplPtr impl_;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> batchMessage_;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    std::vector&lt;Message&gt; batch_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>};</div>
+<div 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_batch_html"><div class="ttname"><a href="classpulsar_1_1_message_batch.html">pulsar::MessageBatch</a></div><div class="ttdef"><b>Definition</b> MessageBatch.h:29</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:44</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_message_builder_8h_source.html b/static/api/cpp/3.3.x/_message_builder_8h_source.html
new file mode 100644
index 00000000000..23818980f72
--- /dev/null
+++ b/static/api/cpp/3.3.x/_message_builder_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">MessageBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef MESSAGE_BUILDER_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define MESSAGE_BUILDER_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/KeyValue.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;chrono&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</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::map&lt;std::string, std::string&gt; StringMap;</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a096971441b85caead9602670d7b901d6">   42</a></span>    <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a096971441b85caead9602670d7b901d6">build</a>();</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">   47</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(<span class="keyword">const</span> <span class="keywordtype">void</span>* data, <span class= [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#aeae2c95b0639f36fe80c0ce5256cae16">setContent</a>(<span class="keyword">const</span> std::string&amp; data);</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">   62</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">setContent</a>(std::string&amp;&amp; data);</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a6a9f4daf6548d0c24eae92642b2f9401">   69</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a6a9f4daf6548d0c24eae92642b2f9401">setContent</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_key_value. [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a33536f52b1a0b00d20d57432377a0822">setAllocatedContent</a>(<span class="keywordtype">void</span>* data, <span class="keywordtype">size_t</span [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#ae59904777c9565d762e4d3230d090ab7">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a90ce43fad4ea63704569ff2a60d02599">setProperties</a>(<span class="keyword">const</span> StringMap&amp; properties);</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">   94</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">setPartitionKey</a>(<span class="keyword">const</span> std::string&amp; partitionKey);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">  100</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">setOrderingKey</a>(<span class="keyword">const</span> std::string&amp; orderingKey);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a43996377452478df5ba3d8255eb8e266">  107</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a43996377452478df5ba3d8255eb8e266">setDeliverAfter</a>(<span class="keyword">const</span> std::chrono::milliseconds delay);</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a07e17c0a4721ec937f028ebc0e8d15f4">  115</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a07e17c0a4721ec937f028ebc0e8d15f4">setDeliverAt</a>(uint64_t deliveryTimestamp);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a47a1c042b9e686c48b406c993e7982e5">  120</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a47a1c042b9e686c48b406c993e7982e5">setEventTimestamp</a>(uint64_t eventTimestamp);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#a94372cd317b679b7748149429655a0f3">  138</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a94372cd317b679b7748149429655a0f3">setSequenceId</a>(int64_t sequenceId);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">  150</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">setReplicationClusters</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt;&amp; clusters);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#afa199d60f52954c93c07ad6eafebe7dd">  157</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#afa199d60f52954c93c07ad6eafebe7dd">disableReplication</a>(<span class="keywordtype">bool</span> flag);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_builder.html#aae903d24a17c2bcd1c5c34742953618d">  163</a></span>    <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_builder.html#aae903d24a17c2bcd1c5c34742953618d">create</a>();</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>   <span class="keyword">protected</span>:</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>    <span class="keyword">const</span> <span class="keywordtype">char</span>* data() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>    std::size_t size() <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="l00169" name="l00169"></a><span class="lineno">  169</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>    <span class="keywordtype">void</span> checkMetadata();</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>    <span class="keyword">static</span> std::shared_ptr&lt;MessageImpl&gt; createMessageImpl();</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    Message::MessageImplPtr impl_;</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">friend</span> <span class="keyword">class </span>PulsarWrapper;</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="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></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_builder_html_a07e17c0a4721ec937f028ebc0e8d15f4"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a07e17c0a4721ec937f028ebc0e8d15f4">pulsar::MessageBuilder::setDeliverAt</a></div><div class="ttdeci">MessageBuilder &amp; setDeliverAt(uint64_t deliveryTimestamp)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a096971441b85caead9602670d7b901d6"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a096971441b85caead9602670d7b901d6">pulsar::MessageBuilder::build</a></div><div class="ttdeci">Message build()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a1efcf691608abcbb3b915a16f5c99bff"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a1efcf691608abcbb3b915a16f5c99bff">pulsar::MessageBuilder::setPartitionKey</a></div><div class="ttdeci">MessageBuilder &amp; setPartitionKey(const std::string &amp;partitionKey)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a2cc0fde4d3dcc2aae68e6e1588c8d364"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const void *data, size_t size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a33536f52b1a0b00d20d57432377a0822"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a33536f52b1a0b00d20d57432377a0822">pulsar::MessageBuilder::setAllocatedContent</a></div><div class="ttdeci">MessageBuilder &amp; setAllocatedContent(void *data, size_t size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a43996377452478df5ba3d8255eb8e266"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a43996377452478df5ba3d8255eb8e266">pulsar::MessageBuilder::setDeliverAfter</a></div><div class="ttdeci">MessageBuilder &amp; setDeliverAfter(const std::chrono::milliseconds delay)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a47a1c042b9e686c48b406c993e7982e5"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a47a1c042b9e686c48b406c993e7982e5">pulsar::MessageBuilder::setEventTimestamp</a></div><div class="ttdeci">MessageBuilder &amp; setEventTimestamp(uint64_t eventTimestamp)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a58e630e1da0388f0a81e2e0474aa346d"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a58e630e1da0388f0a81e2e0474aa346d">pulsar::MessageBuilder::setOrderingKey</a></div><div class="ttdeci">MessageBuilder &amp; setOrderingKey(const std::string &amp;orderingKey)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a6a9f4daf6548d0c24eae92642b2f9401"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a6a9f4daf6548d0c24eae92642b2f9401">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const KeyValue &amp;data)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a6ebb6e9660a46e883c5467213093abcd"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a6ebb6e9660a46e883c5467213093abcd">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(std::string &amp;&amp;data)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a90ce43fad4ea63704569ff2a60d02599"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a90ce43fad4ea63704569ff2a60d02599">pulsar::MessageBuilder::setProperties</a></div><div class="ttdeci">MessageBuilder &amp; setProperties(const StringMap &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_a94372cd317b679b7748149429655a0f3"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a94372cd317b679b7748149429655a0f3">pulsar::MessageBuilder::setSequenceId</a></div><div class="ttdeci">MessageBuilder &amp; setSequenceId(int64_t sequenceId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_aae903d24a17c2bcd1c5c34742953618d"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#aae903d24a17c2bcd1c5c34742953618d">pulsar::MessageBuilder::create</a></div><div class="ttdeci">MessageBuilder &amp; create()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_acde04b110dbccdd7591fad9d4aa9f9c9"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#acde04b110dbccdd7591fad9d4aa9f9c9">pulsar::MessageBuilder::setReplicationClusters</a></div><div class="ttdeci">MessageBuilder &amp; setReplicationClusters(const std::vector&lt; std::string &gt; &amp;clusters)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_ae59904777c9565d762e4d3230d090ab7"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#ae59904777c9565d762e4d3230d090ab7">pulsar::MessageBuilder::setProperty</a></div><div class="ttdeci">MessageBuilder &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_aeae2c95b0639f36fe80c0ce5256cae16"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#aeae2c95b0639f36fe80c0ce5256cae16">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const std::string &amp;data)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html_afa199d60f52954c93c07ad6eafebe7dd"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#afa199d60f52954c93c07ad6eafebe7dd">pulsar::MessageBuilder::disableReplication</a></div><div class="ttdeci">MessageBuilder &amp; disableReplication(bool flag)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_message_id_8h_source.html b/static/api/cpp/3.3.x/_message_id_8h_source.html
new file mode 100644
index 00000000000..1e1b1d81fbf
--- /dev/null
+++ b/static/api/cpp/3.3.x/_message_id_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">MessageId.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef MESSAGE_ID_H</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define MESSAGE_ID_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">class </span>MessageIdImpl;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a> {</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>    <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp;);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>();</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> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_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> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">latest</a>();</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#aef0c413f2705d0ebdf1577c84af6ba6b">   66</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message_id.html#aef0c413f2705d0ebdf1577c84af6ba6b">serialize</a>(std::string&amp; result) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a7cd2deeae7cbf71436bc8e9cd786c147">   73</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_message_id.html#a7cd2deeae7cbf71436bc8e9cd786c147">getTopicName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">   79</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">setTopicName</a>(<span class="keyword">const</span> std::string&amp; topicName);</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span> </div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_id.html#a3768dd552867827d694077ab6d7a55c8">   84</a></span>    <span class="keyword">static</span> <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.html#a3768dd552867827d694077ab6d7a55c8">deserialize</a>(<span class="keyword">const</span> std::string&amp; serializedMessageId);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>    <span class="comment">// These functions compare the message order as stored in bookkeeper</span></div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>    <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>    <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>    <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; other) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>    int64_t ledgerId() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>    int64_t entryId() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span>    int32_t batchIndex() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>    int32_t partition() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    int32_t batchSize() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ConsumerImpl;</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <span class="keyword">friend</span> <span class="keyword">class </span>ReaderImpl;</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>;</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><a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a>;</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> setTopicName(<span class="keyword">const</span> std::shared_ptr&lt;std::string&gt;&amp; topic);</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keyword">friend</span> PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;MessageIdImpl&gt; MessageIdImplPtr;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    MessageIdImplPtr impl_;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keyword">explicit</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>(<span class="keyword">const</span> MessageIdImplPtr&amp; impl);</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>};</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span><span class="keyword">typedef</span> std::vector&lt;MessageId&gt; MessageIdList;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="preprocessor">#endif  </span><span class="comment">// MESSAGE_ID_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html">pulsar::MessageIdBuilder</a></div><div class="ttdef"><b>Definition</b> MessageIdBuilder.h:54</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_message_id_html_a3768dd552867827d694077ab6d7a55c8"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a3768dd552867827d694077ab6d7a55c8">pulsar::MessageId::deserialize</a></div><div class="ttdeci">static MessageId deserialize(const std::string &amp;serializedMessageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a3b0079713b68d0a9d03c269dc2ba2fff"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a3b0079713b68d0a9d03c269dc2ba2fff">pulsar::MessageId::earliest</a></div><div class="ttdeci">static const MessageId &amp; earliest()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a3d84665dab3feb64ed00183a322b92f2"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a3d84665dab3feb64ed00183a322b92f2">pulsar::MessageId::setTopicName</a></div><div class="ttdeci">void setTopicName(const std::string &amp;topicName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_a7cd2deeae7cbf71436bc8e9cd786c147"><div class="ttname"><a href="classpulsar_1_1_message_id.html#a7cd2deeae7cbf71436bc8e9cd786c147">pulsar::MessageId::getTopicName</a></div><div class="ttdeci">const std::string &amp; getTopicName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_ac91b200bd36b9d887bebdadb747dd4ee"><div class="ttname"><a href="classpulsar_1_1_message_id.html#ac91b200bd36b9d887bebdadb747dd4ee">pulsar::MessageId::MessageId</a></div><div class="ttdeci">MessageId(int32_t partition, int64_t ledgerId, int64_t entryId, int32_t batchIndex)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_aef0c413f2705d0ebdf1577c84af6ba6b"><div class="ttname"><a href="classpulsar_1_1_message_id.html#aef0c413f2705d0ebdf1577c84af6ba6b">pulsar::MessageId::serialize</a></div><div class="ttdeci">void serialize(std::string &amp;result) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html_af9c67f2e12e102b07c609a8da5740976"><div class="ttname"><a href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">pulsar::MessageId::latest</a></div><div class="ttdeci">static const MessageId &amp; latest()</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_message_id_builder_8h_source.html b/static/api/cpp/3.3.x/_message_id_builder_8h_source.html
new file mode 100644
index 00000000000..2024db013d1
--- /dev/null
+++ b/static/api/cpp/3.3.x/_message_id_builder_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">MessageIdBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/MessageId.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span>proto {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">class </span>MessageIdData;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>}</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a> {</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> <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</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_builder.html#adf978433aad184f7bcb11bfbf86f91ee">   61</a></span>    <span class="keyword">static</span> <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a> <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_cla [...]
+<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> <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a> <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a46bff6912be430a70ff6d236fdef5d4c">from</a>(<span class="keyword">const</span> proto::MessageIdData& [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#ae1be301cd7f5d7b5444adaa7d209bf2e">ledgerId</a>(int64_t ledgerId);</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>    <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#ae891d015703255a676ee39fd738df615">entryId</a>(int64_t entryId);</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>    <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a40f7cba248437dd6d1d2d29cbc48f5ac">partition</a>(int32_t partition);</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>    <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a09df47acda7f3fe3ec8b0b2f7b9f99f9">batchIndex</a>(int32_t batchIndex);</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>    <a class="code hl_class" href="classpulsar_1_1_message_id_builder.html">MessageIdBuilder</a>&amp; <a class="code hl_function" href="classpulsar_1_1_message_id_builder.html#a070889cc7ffd6f403883b64f38146f74">batchSize</a>(int32_t batchSize);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    std::shared_ptr&lt;MessageIdImpl&gt; impl_;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>};</div>
+<div 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"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html">pulsar::MessageIdBuilder</a></div><div class="ttdef"><b>Definition</b> MessageIdBuilder.h:54</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a070889cc7ffd6f403883b64f38146f74"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a070889cc7ffd6f403883b64f38146f74">pulsar::MessageIdBuilder::batchSize</a></div><div class="ttdeci">MessageIdBuilder &amp; batchSize(int32_t batchSize)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a09df47acda7f3fe3ec8b0b2f7b9f99f9"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a09df47acda7f3fe3ec8b0b2f7b9f99f9">pulsar::MessageIdBuilder::batchIndex</a></div><div class="ttdeci">MessageIdBuilder &amp; batchIndex(int32_t batchIndex)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a40f7cba248437dd6d1d2d29cbc48f5ac"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a40f7cba248437dd6d1d2d29cbc48f5ac">pulsar::MessageIdBuilder::partition</a></div><div class="ttdeci">MessageIdBuilder &amp; partition(int32_t partition)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a46bff6912be430a70ff6d236fdef5d4c"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a46bff6912be430a70ff6d236fdef5d4c">pulsar::MessageIdBuilder::from</a></div><div class="ttdeci">static MessageIdBuilder from(const proto::MessageIdData &amp;messageIdData)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_a8fe3a6d2cc7a29f59137ad241887bf0e"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#a8fe3a6d2cc7a29f59137ad241887bf0e">pulsar::MessageIdBuilder::build</a></div><div class="ttdeci">MessageId build() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_adf978433aad184f7bcb11bfbf86f91ee"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#adf978433aad184f7bcb11bfbf86f91ee">pulsar::MessageIdBuilder::from</a></div><div class="ttdeci">static MessageIdBuilder from(const MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_ae1be301cd7f5d7b5444adaa7d209bf2e"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#ae1be301cd7f5d7b5444adaa7d209bf2e">pulsar::MessageIdBuilder::ledgerId</a></div><div class="ttdeci">MessageIdBuilder &amp; ledgerId(int64_t ledgerId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_builder_html_ae891d015703255a676ee39fd738df615"><div class="ttname"><a href="classpulsar_1_1_message_id_builder.html#ae891d015703255a676ee39fd738df615">pulsar::MessageIdBuilder::entryId</a></div><div class="ttdeci">MessageIdBuilder &amp; entryId(int64_t entryId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_message_routing_policy_8h_source.html b/static/api/cpp/3.3.x/_message_routing_policy_8h_source.html
new file mode 100644
index 00000000000..5784baead78
--- /dev/null
+++ b/static/api/cpp/3.3.x/_message_routing_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">MessageRoutingPolicy.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_MESSAGE_ROUTING_POLICY_HEADER_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_MESSAGE_ROUTING_POLICY_HEADER_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/DeprecatedException.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/TopicMetadata.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="comment"> * Implement this interface to define custom policy giving message to</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="comment"> * partition mapping.</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="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="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">   42</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">getPartition</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html" [...]
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>        <span class="keywordflow">throw</span> <a class="code hl_class" href="classpulsar_1_1_deprecated_exception.html">DeprecatedException</a>(</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>            <span class="stringliteral">&quot;Use int getPartition(const Message&amp; msg,&quot;</span></div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>            <span class="stringliteral">&quot; const TopicMetadata&amp; topicMetadata)&quot;</span>);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    }</div>
+<div 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_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> getPartition(msg);</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>};</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span> </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="keyword">typedef</span> std::shared_ptr&lt;MessageRoutingPolicy&gt; MessageRoutingPolicyPtr;</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_MESSAGE_ROUTING_POLICY_HEADER_</span></div>
+<div class="ttc" id="aclasspulsar_1_1_deprecated_exception_html"><div class="ttname"><a href="classpulsar_1_1_deprecated_exception.html">pulsar::DeprecatedException</a></div><div class="ttdef"><b>Definition</b> DeprecatedException.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_routing_policy_html"><div class="ttname"><a href="classpulsar_1_1_message_routing_policy.html">pulsar::MessageRoutingPolicy</a></div><div class="ttdef"><b>Definition</b> MessageRoutingPolicy.h:35</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_routing_policy_html_a080148f08d302d032b0f49d68ada73de"><div class="ttname"><a href="classpulsar_1_1_message_routing_policy.html#a080148f08d302d032b0f49d68ada73de">pulsar::MessageRoutingPolicy::getPartition</a></div><div class="ttdeci">virtual int getPartition(const Message &amp;msg, const TopicMetadata &amp;topicMetadata)</div><div class="ttdef"><b>Definition</b> MessageRoutingPolicy.h:55</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_routing_policy_html_a8071e740dd2e44ae75a91901e776c310"><div class="ttname"><a href="classpulsar_1_1_message_routing_policy.html#a8071e740dd2e44ae75a91901e776c310">pulsar::MessageRoutingPolicy::getPartition</a></div><div class="ttdeci">virtual int getPartition(const Message &amp;msg)</div><div class="ttdef"><b>Definition</b> MessageRoutingPolicy.h:42</div></div>
+<div class="ttc" id="aclasspulsar_1_1_topic_metadata_html"><div class="ttname"><a href="classpulsar_1_1_topic_metadata.html">pulsar::TopicMetadata</a></div><div class="ttdef"><b>Definition</b> TopicMetadata.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_producer_8h_source.html b/static/api/cpp/3.3.x/_producer_8h_source.html
new file mode 100644
index 00000000000..1d9ceb88f93
--- /dev/null
+++ b/static/api/cpp/3.3.x/_producer_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Producer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PRODUCER_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PRODUCER_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ProducerConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span>ProducerImplBase;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>)&gt; FlushCallback;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> std::shared_ptr&lt;ProducerImplBase&gt; ProducerImplBasePtr;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="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_class" href="classpulsar_1_1_producer.html">Producer</a> {</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">   41</a></span>    <a class="code hl_function" href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">Producer</a>();</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#ab30cecbdcad0f600c1fcd2783cd6caf3">   46</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer.html#ab30cecbdcad0f600c1fcd2783cd6caf3">getTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#aba5ac552bef04262ecc989b933ec1d65">   51</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer.html#aba5ac552bef04262ecc989b933ec1d65">getProducerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#ad4737186cf798acfb24a167796259443">   58</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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#ae85314d6b9e8afd831cf8c66705f2dbb">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#a7b31f92eb0362bdff32316fc9ab70fd7">  100</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a7b31f92eb0362bdff32316fc9ab70fd7">sendAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg, SendCallback callback);</div>
+<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#ae85314d6b9e8afd831cf8c66705f2dbb">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#a3173d56da00ea2225f03e152c8c3df22">  112</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a3173d56da00ea2225f03e152c8c3df22">flushAsync</a>(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&amp; <a class="code hl_function" href="classpulsar_1_1_producer.html#a2d452694aca8f7ccb5af5e3a974432c3">getSchemaVersion</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer.html#a0b4a93617a0c0f8d172633a7bf8ba06b">  147</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">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#a40f5268e6754c9e61e2406d432cffe2f">  156</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer.html#a40f5268e6754c9e61e2406d432cffe2f">closeAsync</a>(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_class" href="classpulsar_1_1_producer.html">Producer</a>(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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result);</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="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:44</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_html_a013069fbb382f7f3c7dd58522765698b"><div class="ttname"><a href="classpulsar_1_1_producer.html#a013069fbb382f7f3c7dd58522765698b">pulsar::Producer::Producer</a></div><div class="ttdeci">Producer()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a0b4a93617a0c0f8d172633a7bf8ba06b"><div class="ttname"><a href="classpulsar_1_1_producer.html#a0b4a93617a0c0f8d172633a7bf8ba06b">pulsar::Producer::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a0f8b6a4b724a60545a8d427596155f1e"><div class="ttname"><a href="classpulsar_1_1_producer.html#a0f8b6a4b724a60545a8d427596155f1e">pulsar::Producer::isConnected</a></div><div class="ttdeci">bool isConnected() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a1cd59ffc4a23162eca39183ba4278146"><div class="ttname"><a href="classpulsar_1_1_producer.html#a1cd59ffc4a23162eca39183ba4278146">pulsar::Producer::flush</a></div><div class="ttdeci">Result flush()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a2d452694aca8f7ccb5af5e3a974432c3"><div class="ttname"><a href="classpulsar_1_1_producer.html#a2d452694aca8f7ccb5af5e3a974432c3">pulsar::Producer::getSchemaVersion</a></div><div class="ttdeci">const std::string &amp; getSchemaVersion() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a3173d56da00ea2225f03e152c8c3df22"><div class="ttname"><a href="classpulsar_1_1_producer.html#a3173d56da00ea2225f03e152c8c3df22">pulsar::Producer::flushAsync</a></div><div class="ttdeci">void flushAsync(FlushCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a32a8c234d42e1951c0357a7562ccdb3a"><div class="ttname"><a href="classpulsar_1_1_producer.html#a32a8c234d42e1951c0357a7562ccdb3a">pulsar::Producer::send</a></div><div class="ttdeci">Result send(const Message &amp;msg, MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a40f5268e6754c9e61e2406d432cffe2f"><div class="ttname"><a href="classpulsar_1_1_producer.html#a40f5268e6754c9e61e2406d432cffe2f">pulsar::Producer::closeAsync</a></div><div class="ttdeci">void closeAsync(CloseCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a7b31f92eb0362bdff32316fc9ab70fd7"><div class="ttname"><a href="classpulsar_1_1_producer.html#a7b31f92eb0362bdff32316fc9ab70fd7">pulsar::Producer::sendAsync</a></div><div class="ttdeci">void sendAsync(const Message &amp;msg, SendCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_a99c6c342f700842a065178730c487d5a"><div class="ttname"><a href="classpulsar_1_1_producer.html#a99c6c342f700842a065178730c487d5a">pulsar::Producer::getLastSequenceId</a></div><div class="ttdeci">int64_t getLastSequenceId() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_ab30cecbdcad0f600c1fcd2783cd6caf3"><div class="ttname"><a href="classpulsar_1_1_producer.html#ab30cecbdcad0f600c1fcd2783cd6caf3">pulsar::Producer::getTopic</a></div><div class="ttdeci">const std::string &amp; getTopic() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_aba5ac552bef04262ecc989b933ec1d65"><div class="ttname"><a href="classpulsar_1_1_producer.html#aba5ac552bef04262ecc989b933ec1d65">pulsar::Producer::getProducerName</a></div><div class="ttdeci">const std::string &amp; getProducerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html_ad4737186cf798acfb24a167796259443"><div class="ttname"><a href="classpulsar_1_1_producer.html#ad4737186cf798acfb24a167796259443">pulsar::Producer::send</a></div><div class="ttdeci">Result send(const Message &amp;msg)</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_producer_configuration_8h_source.html b/static/api/cpp/3.3.x/_producer_configuration_8h_source.html
new file mode 100644
index 00000000000..b3bb59a73f4
--- /dev/null
+++ b/static/api/cpp/3.3.x/_producer_configuration_8h_source.html
@@ -0,0 +1,319 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ProducerConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_PRODUCERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_PRODUCERCONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/CompressionType.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/CryptoKeyReader.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/MessageRoutingPolicy.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/ProducerCryptoFailureAction.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/ProducerInterceptor.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;set&gt;</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="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</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> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>, <span class="keyword">const</span> MessageId&amp; messageId)&gt; SendCallback;</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>)&gt; CloseCallback;</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">struct </span>ProducerConfigurationImpl;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="keyword">class </span>PulsarWrapper;</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"><a class="line" href="classpulsar_1_1_producer_configuration.html">   45</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> {</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    <span class="keyword">enum</span> PartitionsRoutingMode</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>        UseSinglePartition,</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>        RoundRobinDistribution,</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>        CustomPartition</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="keyword">enum</span> HashingScheme</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>        Murmur3_32Hash,</div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>        BoostHash,</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>        JavaStringHash</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"><a class="line" href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5">   59</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5">BatchingType</a></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_producer_configuration.html#adeed584c68f90401147e31091e54c5e5af2acbf3fc9b0dc49d8af65a148d22e27">   70</a></span>        <a class="code hl_enumvalue" href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5af2acbf3fc9b0dc49d8af65a148d22e27">DefaultBatching</a>,</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>        KeyBasedBatching</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5a291402f9cfb8e9f0fa888722930233ea">   82</a></span>    };</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39cea">   83</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39cea">ProducerAccessMode</a></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_producer_configuration.html#ab217b341d1fa532552bcd03064a39ceaa73f8f203fbd16f91a5b123a362bf13e5">   88</a></span>        Shared = 0,</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39ceaabd2cd3c2f4a00e0dc5d5aeb07404831d">   93</a></span>        Exclusive = 1,</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39ceaa9ba09474e854bd3d7094580ed7a3ff29">   98</a></span>        WaitForExclusive = 2,</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>        ExclusiveWithFencing = 3</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39ceaae142b6a80e588880365caa719fe6ebd8">  105</a></span>    };</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>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>();</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>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span> </div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">  118</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">setProducerName</a>(<span class="keyword">const</span> std::string&amp; produce [...]
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a526741c1516005ef85990002be06baed">  123</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a526741c1516005ef85990002be06baed">getProducerName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#af161c34b3745581293e6df1e2f8115af">  137</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#af161c34b3745581293e6df1e2f8115af">setSchema</a>(<span class="keyword">const</span> <a class="code hl_class" href= [...]
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span> </div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a1a38c635f3b3bfb47da547da873f7adc">  142</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a1a38c635f3b3bfb47da547da873f7adc">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a20cd4b67462cb786f097a74fde857cf5">  147</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a20cd4b67462cb786f097a74fde857cf5">setSendTimeout</a>(<span class="keywordtype">int</span> sendTimeoutMs);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a5f3c0ff3a5910207e1731fd1974fe560">  159</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="l00160" name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a9b6c3c9f7e734f0e95cb9c7b301e14eb">  172</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a9b6c3c9f7e734f0e95cb9c7b301e14eb">setInitialSequenceId</a>(int64_t initialSequenceId);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#aad360d7e638bc78e2ed0e9be439d381e">  177</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="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a3e4784fdab5471faeddb380849ba60fb">  194</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a3e4784fdab5471faeddb380849ba60fb">setCompressionType</a>(CompressionType compressionType);</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a61ff42e487a29d8b3a180e23add0135d">  199</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="l00200" name="l00200"></a><span class="lineno">  200</span> </div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#aeb61ed9f97923fb9e65d4e750b145a2f">  212</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#aeb61ed9f97923fb9e65d4e750b145a2f">setMaxPendingMessages</a>(<span class="keywordtype">int</span> maxPendingMessag [...]
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae0300bcf9ccede2a62c550e3eb79cb4b">  217</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="l00218" name="l00218"></a><span class="lineno">  218</span> </div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ac44a68df892d721fad29056f4d89e9c4">  229</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ac44a68df892d721fad29056f4d89e9c4">setMaxPendingMessagesAcrossPartitions</a>(<span class="keywordtype">int</span>  [...]
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span> </div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abbd51b143f4e4fc8ca5fdfc73c8bfb08">  234</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="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">  244</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">setPartitionsRoutingMode</a>(<span class="keyword">const</span> PartitionsRouti [...]
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae8e2c09b5a04c154f2830db75426e243">  249</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="l00250" name="l00250"></a><span class="lineno">  250</span> </div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">  257</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">setMessageRouter</a>(<span class="keyword">const</span> MessageRoutingPolicyPtr [...]
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a815e19bc497485c10a4fca3a53dea52b">  262</a></span>    <span class="keyword">const</span> MessageRoutingPolicyPtr&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a815e19bc497485c10a4fca3a53dea52b">getMessageRouterPtr</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">  282</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">setHashingScheme</a>(<span class="keyword">const</span> HashingScheme&amp; sche [...]
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abbfd8d17f8fff203536fd7d84c45bd6e">  287</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="l00288" name="l00288"></a><span class="lineno">  288</span> </div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#af025bdb0f1c7c9c8fe8cfc61f5e7b1e6">  303</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#af025bdb0f1c7c9c8fe8cfc61f5e7b1e6">setLazyStartPartitionedProducers</a>(<span class="keywordtype">bool</span>);</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span> </div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad1699c4a4b7d8f1b7a2680a2bb6535d4">  308</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="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_producer_configuration.html#ae83e7490292fef0b78619135cc90d6a9">  313</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ae83e7490292fef0b78619135cc90d6a9">setBlockIfQueueFull</a>(<span class="keywordtype">bool</span>);</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a41b834ead0a7335a406f0c6b8a4a8815">  319</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="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="comment">// Zero queue size feature will not be supported on consumer end if batching is enabled</span></div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span> </div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#af9a1dd93b7a412b3bf3ec79d4083f0e8">  338</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#af9a1dd93b7a412b3bf3ec79d4083f0e8">setBatchingEnabled</a>(<span class="keyword">const</span> <span class="keywordt [...]
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span> </div>
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ae41daa9000a2df15120e3c42591d63af">  347</a></span>    <span class="keyword">const</span> <span class="keywordtype">bool</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ae41daa9000a2df15120e3c42591d63af">getBatchingEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span> </div>
+<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a1be81019a86b11ed5c685fdc7e899401">  360</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a1be81019a86b11ed5c685fdc7e899401">setBatchingMaxMessages</a>(<span class="keyword">const</span> <span class="keyw [...]
+<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span> </div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a2debe3bfacf732b7ad40b0b366223f75">  365</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a2debe3bfacf732b7ad40b0b366223f75">getBatchingMaxMessages</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abbec0bcbdee8085afd81e94262d72080">  379</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abbec0bcbdee8085afd81e94262d72080">setBatchingMaxAllowedSizeInBytes</a>(</div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span>        <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; batchingMaxAllowedSizeInBytes);</div>
+<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span> </div>
+<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a7d650931b85e0ee4f6080ca051a3cb28">  385</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a7d650931b85e0ee4f6080ca051a3cb28">getBatchingMaxAllowedSizeInBytes</a>() <span class="keyword">const [...]
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno">  386</span> </div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a34f1bf46378fba5e065f252f982ce350">  394</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a34f1bf46378fba5e065f252f982ce350">setBatchingMaxPublishDelayMs</a>(<span class="keyword">const</span> <span class [...]
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span> </div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad4e8e1802ddc34d4b600bc0fb9cfe2e6">  399</a></span>    <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ad4e8e1802ddc34d4b600bc0fb9cfe2e6">getBatchingMaxPublishDelayMs</a>() <span class="keyword">const</sp [...]
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span> </div>
+<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#abe21bc7bbb3f7d3bbad5102688e715a7">  406</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#abe21bc7bbb3f7d3bbad5102688e715a7">setBatchingType</a>(<a class="code hl_enumeration" href="classpulsar_1_1_produc [...]
+<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span> </div>
+<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a9d92842c76fa71736ee9aec424ff2496">  412</a></span>    <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5">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="l00413" name="l00413"></a><span class="lineno">  413</span> </div>
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a451838bdf98e10da3fb6183274f4b3e5">  417</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="l00418" name="l00418"></a><span class="lineno">  418</span> </div>
+<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a6934b1d5c42a1f03ad011b20ee5c1724">  425</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a6934b1d5c42a1f03ad011b20ee5c1724">setCryptoKeyReader</a>(CryptoKeyReaderPtr cryptoKeyReader);</div>
+<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span> </div>
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a853090927fd2a1eee2ca588a4def3c59">  430</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="l00431" name="l00431"></a><span class="lineno">  431</span> </div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#acf13ddf392d17cc54100f02431e6ba4f">  439</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#acf13ddf392d17cc54100f02431e6ba4f">setCryptoFailureAction</a>(ProducerCryptoFailureAction action);</div>
+<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span> </div>
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a5b02a79fabba85be433ab7a9bdb02138">  444</a></span>    <span class="keyword">const</span> std::set&lt;std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a5b02a79fabba85be433ab7a9bdb02138">getEncryptionKeys</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span> </div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a33f5238a6da49fca17816d4251af5512">  449</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="l00450" name="l00450"></a><span class="lineno">  450</span> </div>
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a5d8739282f60f8c5c25c937eff5aeb2f">  463</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a5d8739282f60f8c5c25c937eff5aeb2f">addEncryptionKey</a>(std::string key);</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a7f9020dbb5c22a28277009e83695d5e2">  472</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a7f9020dbb5c22a28277009e83695d5e2">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span> </div>
+<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">  480</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span> </div>
+<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a42d2ec7fafe2b0b3e1554572a487f40f">  485</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a42d2ec7fafe2b0b3e1554572a487f40f">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span> </div>
+<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">  493</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span [...]
+<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_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">  498</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">setProperties</a>(<span class="keyword">const</span> std::map&lt;std::string, s [...]
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span> </div>
+<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#ad79c6bf2280450ba395aea33885738ae">  521</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#ad79c6bf2280450ba395aea33885738ae">setChunkingEnabled</a>(<span class="keywordtype">bool</span> chunkingEnabled);</div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span> </div>
+<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a6aa210dd18cbd98ccb39ebc2f0978f95">  526</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="l00527" name="l00527"></a><span class="lineno">  527</span> </div>
+<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a24fde55a4c296eacd3276b8299b4d0b3">  535</a></span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_producer_configuration.html#a24fde55a4c296eacd3276b8299b4d0b3">setAccessMode</a>(<span class="keyword">const</span> <a class="code hl_enumerat [...]
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_configuration.html#a4bb0a493242b1701c8574eee4fa694e5">  540</a></span>    <a class="code hl_enumeration" href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39cea">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="l00541" name="l00541"></a><span class="lineno">  541</span> </div>
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno">  542</span>    <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; intercept(<span class="keyword">const</span> std::vector&lt;ProducerInterceptorPtr&gt;&amp; interceptors);</div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno">  543</span> </div>
+<div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span>    <span class="keyword">const</span> std::vector&lt;ProducerInterceptorPtr&gt;&amp; getInterceptors() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span> </div>
+<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno">  547</span>    std::shared_ptr&lt;ProducerConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span> </div>
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span>    <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</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>ConsumerImpl;</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>ProducerImpl;</div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno">  552</span>};</div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</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_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:45</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a15c8b5a9160959e6998aa2615304348c"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a15c8b5a9160959e6998aa2615304348c">pulsar::ProducerConfiguration::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a1a38c635f3b3bfb47da547da873f7adc"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a1a38c635f3b3bfb47da547da873f7adc">pulsar::ProducerConfiguration::getSchema</a></div><div class="ttdeci">const SchemaInfo &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a1be81019a86b11ed5c685fdc7e899401"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a1be81019a86b11ed5c685fdc7e899401">pulsar::ProducerConfiguration::setBatchingMaxMessages</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingMaxMessages(const unsigned int &amp;batchingMaxMessages)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a20cd4b67462cb786f097a74fde857cf5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a20cd4b67462cb786f097a74fde857cf5">pulsar::ProducerConfiguration::setSendTimeout</a></div><div class="ttdeci">ProducerConfiguration &amp; setSendTimeout(int sendTimeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a24fde55a4c296eacd3276b8299b4d0b3"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a24fde55a4c296eacd3276b8299b4d0b3">pulsar::ProducerConfiguration::setAccessMode</a></div><div class="ttdeci">ProducerConfiguration &amp; setAccessMode(const ProducerAccessMode &amp;accessMode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a2debe3bfacf732b7ad40b0b366223f75"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a2debe3bfacf732b7ad40b0b366223f75">pulsar::ProducerConfiguration::getBatchingMaxMessages</a></div><div class="ttdeci">const unsigned int &amp; getBatchingMaxMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a33f5238a6da49fca17816d4251af5512"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a33f5238a6da49fca17816d4251af5512">pulsar::ProducerConfiguration::isEncryptionEnabled</a></div><div class="ttdeci">bool isEncryptionEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a34f1bf46378fba5e065f252f982ce350"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a34f1bf46378fba5e065f252f982ce350">pulsar::ProducerConfiguration::setBatchingMaxPublishDelayMs</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingMaxPublishDelayMs(const unsigned long &amp;batchingMaxPublishDelayMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a3e4784fdab5471faeddb380849ba60fb"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a3e4784fdab5471faeddb380849ba60fb">pulsar::ProducerConfiguration::setCompressionType</a></div><div class="ttdeci">ProducerConfiguration &amp; setCompressionType(CompressionType compressionType)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a41b834ead0a7335a406f0c6b8a4a8815"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a41b834ead0a7335a406f0c6b8a4a8815">pulsar::ProducerConfiguration::getBlockIfQueueFull</a></div><div class="ttdeci">bool getBlockIfQueueFull() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a42d2ec7fafe2b0b3e1554572a487f40f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a42d2ec7fafe2b0b3e1554572a487f40f">pulsar::ProducerConfiguration::getProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a451838bdf98e10da3fb6183274f4b3e5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a451838bdf98e10da3fb6183274f4b3e5">pulsar::ProducerConfiguration::getCryptoKeyReader</a></div><div class="ttdeci">const CryptoKeyReaderPtr getCryptoKeyReader() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a45afb46cc1d2083cc58927af5bea3c9d"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a45afb46cc1d2083cc58927af5bea3c9d">pulsar::ProducerConfiguration::setProperties</a></div><div class="ttdeci">ProducerConfiguration &amp; setProperties(const std::map&lt; std::string, std::string &gt; &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a4bb0a493242b1701c8574eee4fa694e5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a4bb0a493242b1701c8574eee4fa694e5">pulsar::ProducerConfiguration::getAccessMode</a></div><div class="ttdeci">ProducerAccessMode getAccessMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a526741c1516005ef85990002be06baed"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a526741c1516005ef85990002be06baed">pulsar::ProducerConfiguration::getProducerName</a></div><div class="ttdeci">const std::string &amp; getProducerName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a542691ebedfa1f1fdb706e77067680bb"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a542691ebedfa1f1fdb706e77067680bb">pulsar::ProducerConfiguration::setHashingScheme</a></div><div class="ttdeci">ProducerConfiguration &amp; setHashingScheme(const HashingScheme &amp;scheme)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a5b02a79fabba85be433ab7a9bdb02138"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a5b02a79fabba85be433ab7a9bdb02138">pulsar::ProducerConfiguration::getEncryptionKeys</a></div><div class="ttdeci">const std::set&lt; std::string &gt; &amp; getEncryptionKeys() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a5d8739282f60f8c5c25c937eff5aeb2f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a5d8739282f60f8c5c25c937eff5aeb2f">pulsar::ProducerConfiguration::addEncryptionKey</a></div><div class="ttdeci">ProducerConfiguration &amp; addEncryptionKey(std::string key)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a5f3c0ff3a5910207e1731fd1974fe560"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a5f3c0ff3a5910207e1731fd1974fe560">pulsar::ProducerConfiguration::getSendTimeout</a></div><div class="ttdeci">int getSendTimeout() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a61ff42e487a29d8b3a180e23add0135d"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a61ff42e487a29d8b3a180e23add0135d">pulsar::ProducerConfiguration::getCompressionType</a></div><div class="ttdeci">CompressionType getCompressionType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a6842f9d4d16d50b3b993df67c043ad38"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a6842f9d4d16d50b3b993df67c043ad38">pulsar::ProducerConfiguration::setPartitionsRoutingMode</a></div><div class="ttdeci">ProducerConfiguration &amp; setPartitionsRoutingMode(const PartitionsRoutingMode &amp;mode)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a6934b1d5c42a1f03ad011b20ee5c1724"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a6934b1d5c42a1f03ad011b20ee5c1724">pulsar::ProducerConfiguration::setCryptoKeyReader</a></div><div class="ttdeci">ProducerConfiguration &amp; setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a6aa210dd18cbd98ccb39ebc2f0978f95"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a6aa210dd18cbd98ccb39ebc2f0978f95">pulsar::ProducerConfiguration::isChunkingEnabled</a></div><div class="ttdeci">bool isChunkingEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a7d650931b85e0ee4f6080ca051a3cb28"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a7d650931b85e0ee4f6080ca051a3cb28">pulsar::ProducerConfiguration::getBatchingMaxAllowedSizeInBytes</a></div><div class="ttdeci">const unsigned long &amp; getBatchingMaxAllowedSizeInBytes() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a7f9020dbb5c22a28277009e83695d5e2"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a7f9020dbb5c22a28277009e83695d5e2">pulsar::ProducerConfiguration::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a815e19bc497485c10a4fca3a53dea52b"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a815e19bc497485c10a4fca3a53dea52b">pulsar::ProducerConfiguration::getMessageRouterPtr</a></div><div class="ttdeci">const MessageRoutingPolicyPtr &amp; getMessageRouterPtr() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a8286421f85e5da6c71abe10e5f1ee7cd"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a8286421f85e5da6c71abe10e5f1ee7cd">pulsar::ProducerConfiguration::setProducerName</a></div><div class="ttdeci">ProducerConfiguration &amp; setProducerName(const std::string &amp;producerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a853090927fd2a1eee2ca588a4def3c59"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a853090927fd2a1eee2ca588a4def3c59">pulsar::ProducerConfiguration::getCryptoFailureAction</a></div><div class="ttdeci">ProducerCryptoFailureAction getCryptoFailureAction() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a9b6c3c9f7e734f0e95cb9c7b301e14eb"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a9b6c3c9f7e734f0e95cb9c7b301e14eb">pulsar::ProducerConfiguration::setInitialSequenceId</a></div><div class="ttdeci">ProducerConfiguration &amp; setInitialSequenceId(int64_t initialSequenceId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_a9d92842c76fa71736ee9aec424ff2496"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#a9d92842c76fa71736ee9aec424ff2496">pulsar::ProducerConfiguration::getBatchingType</a></div><div class="ttdeci">BatchingType getBatchingType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_aad360d7e638bc78e2ed0e9be439d381e"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#aad360d7e638bc78e2ed0e9be439d381e">pulsar::ProducerConfiguration::getInitialSequenceId</a></div><div class="ttdeci">int64_t getInitialSequenceId() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ab217b341d1fa532552bcd03064a39cea"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ab217b341d1fa532552bcd03064a39cea">pulsar::ProducerConfiguration::ProducerAccessMode</a></div><div class="ttdeci">ProducerAccessMode</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:84</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ab6ff6f83f46ac85e60ed1611350d1e79"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ab6ff6f83f46ac85e60ed1611350d1e79">pulsar::ProducerConfiguration::setProperty</a></div><div class="ttdeci">ProducerConfiguration &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abbd51b143f4e4fc8ca5fdfc73c8bfb08"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abbd51b143f4e4fc8ca5fdfc73c8bfb08">pulsar::ProducerConfiguration::getMaxPendingMessagesAcrossPartitions</a></div><div class="ttdeci">int getMaxPendingMessagesAcrossPartitions() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abbec0bcbdee8085afd81e94262d72080"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abbec0bcbdee8085afd81e94262d72080">pulsar::ProducerConfiguration::setBatchingMaxAllowedSizeInBytes</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingMaxAllowedSizeInBytes(const unsigned long &amp;batchingMaxAllowedSizeInBytes)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abbfd8d17f8fff203536fd7d84c45bd6e"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abbfd8d17f8fff203536fd7d84c45bd6e">pulsar::ProducerConfiguration::getHashingScheme</a></div><div class="ttdeci">HashingScheme getHashingScheme() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abe21bc7bbb3f7d3bbad5102688e715a7"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abe21bc7bbb3f7d3bbad5102688e715a7">pulsar::ProducerConfiguration::setBatchingType</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingType(BatchingType batchingType)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_abf5a23a8d0eaebba237dca1bbf72a8f2"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#abf5a23a8d0eaebba237dca1bbf72a8f2">pulsar::ProducerConfiguration::setMessageRouter</a></div><div class="ttdeci">ProducerConfiguration &amp; setMessageRouter(const MessageRoutingPolicyPtr &amp;router)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ac44a68df892d721fad29056f4d89e9c4"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ac44a68df892d721fad29056f4d89e9c4">pulsar::ProducerConfiguration::setMaxPendingMessagesAcrossPartitions</a></div><div class="ttdeci">ProducerConfiguration &amp; setMaxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_acf13ddf392d17cc54100f02431e6ba4f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#acf13ddf392d17cc54100f02431e6ba4f">pulsar::ProducerConfiguration::setCryptoFailureAction</a></div><div class="ttdeci">ProducerConfiguration &amp; setCryptoFailureAction(ProducerCryptoFailureAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad1699c4a4b7d8f1b7a2680a2bb6535d4"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad1699c4a4b7d8f1b7a2680a2bb6535d4">pulsar::ProducerConfiguration::getLazyStartPartitionedProducers</a></div><div class="ttdeci">bool getLazyStartPartitionedProducers() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad4e8e1802ddc34d4b600bc0fb9cfe2e6"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad4e8e1802ddc34d4b600bc0fb9cfe2e6">pulsar::ProducerConfiguration::getBatchingMaxPublishDelayMs</a></div><div class="ttdeci">const unsigned long &amp; getBatchingMaxPublishDelayMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ad79c6bf2280450ba395aea33885738ae"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ad79c6bf2280450ba395aea33885738ae">pulsar::ProducerConfiguration::setChunkingEnabled</a></div><div class="ttdeci">ProducerConfiguration &amp; setChunkingEnabled(bool chunkingEnabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_adeed584c68f90401147e31091e54c5e5"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5">pulsar::ProducerConfiguration::BatchingType</a></div><div class="ttdeci">BatchingType</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:60</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_adeed584c68f90401147e31091e54c5e5af2acbf3fc9b0dc49d8af65a148d22e27"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#adeed584c68f90401147e31091e54c5e5af2acbf3fc9b0dc49d8af65a148d22e27">pulsar::ProducerConfiguration::DefaultBatching</a></div><div class="ttdeci">@ DefaultBatching</div><div class="ttdef"><b>Definition</b> ProducerConfiguration.h:70</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae0300bcf9ccede2a62c550e3eb79cb4b"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae0300bcf9ccede2a62c550e3eb79cb4b">pulsar::ProducerConfiguration::getMaxPendingMessages</a></div><div class="ttdeci">int getMaxPendingMessages() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae41daa9000a2df15120e3c42591d63af"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae41daa9000a2df15120e3c42591d63af">pulsar::ProducerConfiguration::getBatchingEnabled</a></div><div class="ttdeci">const bool &amp; getBatchingEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae83e7490292fef0b78619135cc90d6a9"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae83e7490292fef0b78619135cc90d6a9">pulsar::ProducerConfiguration::setBlockIfQueueFull</a></div><div class="ttdeci">ProducerConfiguration &amp; setBlockIfQueueFull(bool)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_ae8e2c09b5a04c154f2830db75426e243"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#ae8e2c09b5a04c154f2830db75426e243">pulsar::ProducerConfiguration::getPartitionsRoutingMode</a></div><div class="ttdeci">PartitionsRoutingMode getPartitionsRoutingMode() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_aeb61ed9f97923fb9e65d4e750b145a2f"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#aeb61ed9f97923fb9e65d4e750b145a2f">pulsar::ProducerConfiguration::setMaxPendingMessages</a></div><div class="ttdeci">ProducerConfiguration &amp; setMaxPendingMessages(int maxPendingMessages)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_af025bdb0f1c7c9c8fe8cfc61f5e7b1e6"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#af025bdb0f1c7c9c8fe8cfc61f5e7b1e6">pulsar::ProducerConfiguration::setLazyStartPartitionedProducers</a></div><div class="ttdeci">ProducerConfiguration &amp; setLazyStartPartitionedProducers(bool)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_af161c34b3745581293e6df1e2f8115af"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#af161c34b3745581293e6df1e2f8115af">pulsar::ProducerConfiguration::setSchema</a></div><div class="ttdeci">ProducerConfiguration &amp; setSchema(const SchemaInfo &amp;schemaInfo)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_configuration_html_af9a1dd93b7a412b3bf3ec79d4083f0e8"><div class="ttname"><a href="classpulsar_1_1_producer_configuration.html#af9a1dd93b7a412b3bf3ec79d4083f0e8">pulsar::ProducerConfiguration::setBatchingEnabled</a></div><div class="ttdeci">ProducerConfiguration &amp; setBatchingEnabled(const bool &amp;batchingEnabled)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:146</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_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_producer_crypto_failure_action_8h_source.html b/static/api/cpp/3.3.x/_producer_crypto_failure_action_8h_source.html
new file mode 100644
index 00000000000..7e61c02768b
--- /dev/null
+++ b/static/api/cpp/3.3.x/_producer_crypto_failure_action_8h_source.html
@@ -0,0 +1,102 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="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> ProducerCryptoFailureAction</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 send if crypto operation fails</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span>    SEND   <span class="comment">// Ignore crypto failure and proceed with sending unencrypted messages</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> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>} <span class="comment">/* namespace pulsar */</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">/* PRODUCERCRYPTOFAILUREACTION_H_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_producer_interceptor_8h_source.html b/static/api/cpp/3.3.x/_producer_interceptor_8h_source.html
new file mode 100644
index 00000000000..2e9d4130a30
--- /dev/null
+++ b/static/api/cpp/3.3.x/_producer_interceptor_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef PULSAR_PRODUCER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#define PULSAR_PRODUCER_INTERCEPTOR_H</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span>Producer;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html">   42</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_producer_interceptor.html">ProducerInterceptor</a> {</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_producer_interceptor.html">~ProducerInterceptor</a>() {}</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#a59d5f25b142cd69ebbca13f22842120b">   49</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#a59d5f25b142cd69ebbca13f22842120b">close</a>() {}</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#adc40c03231068fa4a13d6017220d0a79">   80</a></span>    <span class="keyword">virtual</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#adc40c03231068fa4a13d6017220d0a79">beforeSend</a>(<span class="keyword">const</span> <a class="code hl_class" href= [...]
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#ad9aba4738d6033218f4a970c53aefab0">   99</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#ad9aba4738d6033218f4a970c53aefab0">onSendAcknowledgement</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_produce [...]
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>                                       <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageID) = 0;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classpulsar_1_1_producer_interceptor.html#aa4fbfa721d9d9985a304c3d2ce924202">  108</a></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_producer_interceptor.html#aa4fbfa721d9d9985a304c3d2ce924202">onPartitionsChange</a>(<span class="keyword">const</span> std::string&amp; topicName, <span class="keywordtype">int [...]
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>};</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span><span class="keyword">typedef</span> std::shared_ptr&lt;ProducerInterceptor&gt; ProducerInterceptorPtr;</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_PRODUCER_INTERCEPTOR_H</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_html"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</div></div>
+<div class="ttc" id="aclasspulsar_1_1_message_id_html"><div class="ttname"><a href="classpulsar_1_1_message_id.html">pulsar::MessageId</a></div><div class="ttdef"><b>Definition</b> MessageId.h:34</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_html"><div class="ttname"><a href="classpulsar_1_1_producer.html">pulsar::Producer</a></div><div class="ttdef"><b>Definition</b> Producer.h:36</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html">pulsar::ProducerInterceptor</a></div><div class="ttdef"><b>Definition</b> ProducerInterceptor.h:42</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_a59d5f25b142cd69ebbca13f22842120b"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#a59d5f25b142cd69ebbca13f22842120b">pulsar::ProducerInterceptor::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdef"><b>Definition</b> ProducerInterceptor.h:49</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_aa4fbfa721d9d9985a304c3d2ce924202"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#aa4fbfa721d9d9985a304c3d2ce924202">pulsar::ProducerInterceptor::onPartitionsChange</a></div><div class="ttdeci">virtual void onPartitionsChange(const std::string &amp;topicName, int partitions)</div><div class="ttdef"><b>Definition</b> ProducerInterceptor.h:108</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_ad9aba4738d6033218f4a970c53aefab0"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#ad9aba4738d6033218f4a970c53aefab0">pulsar::ProducerInterceptor::onSendAcknowledgement</a></div><div class="ttdeci">virtual void onSendAcknowledgement(const Producer &amp;producer, Result result, const Message &amp;message, const MessageId &amp;messageID)=0</div></div>
+<div class="ttc" id="aclasspulsar_1_1_producer_interceptor_html_adc40c03231068fa4a13d6017220d0a79"><div class="ttname"><a href="classpulsar_1_1_producer_interceptor.html#adc40c03231068fa4a13d6017220d0a79">pulsar::ProducerInterceptor::beforeSend</a></div><div class="ttdeci">virtual Message beforeSend(const Producer &amp;producer, const Message &amp;message)=0</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_protobuf_native_schema_8h_source.html b/static/api/cpp/3.3.x/_protobuf_native_schema_8h_source.html
new file mode 100644
index 00000000000..9f39eda6a23
--- /dev/null
+++ b/static/api/cpp/3.3.x/_protobuf_native_schema_8h_source.html
@@ -0,0 +1,100 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ProtobufNativeSchema.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;google/protobuf/descriptor.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a7dc480604aefdd4119b2e2ee2b9e7764">   33</a></span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> <a class="code hl_function" href="namespacepulsar.html#a7dc480604aefdd4119b2e2ee2b9e7764">createProtobufNativeSchema</a>(<span class="keyword">const</span> google::protobuf::Descriptor* descriptor);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:146</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a7dc480604aefdd4119b2e2ee2b9e7764"><div class="ttname"><a href="namespacepulsar.html#a7dc480604aefdd4119b2e2ee2b9e7764">pulsar::createProtobufNativeSchema</a></div><div class="ttdeci">PULSAR_PUBLIC SchemaInfo createProtobufNativeSchema(const google::protobuf::Descriptor *descriptor)</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_reader_8h_source.html b/static/api/cpp/3.3.x/_reader_8h_source.html
new file mode 100644
index 00000000000..e5ba7ace567
--- /dev/null
+++ b/static/api/cpp/3.3.x/_reader_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Reader.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_READER_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_READER_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/ReaderConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">class </span>PulsarFriend;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">class </span>ReaderImpl;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, <span class="keywordtype">bool</span> hasMessageAvailable)&gt; HasMessageAvailableCallback;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, <span class="keyword">const</span> Message&amp; message)&gt; ReadNextCallback;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<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_class" href="classpulsar_1_1_reader.html">Reader</a> {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">   42</a></span>    <a class="code hl_function" href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">Reader</a>();</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a1b682c6bacd8514221bbb6b25c84c051">   47</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader.html#a1b682c6bacd8514221bbb6b25c84c051">getTopic</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a11756c69a2f5bd99e302a384ae8a9ff4">   59</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a11756c69a2f5bd99e302a384ae8a9ff4">readNext</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a39c664ea68774721bc0e772b38449b22">   70</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a39c664ea68774721bc0e772b38449b22">readNext</a>(<a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg, <span class="keywo [...]
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span> </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader.html#a1ed12cbc71284694e5ff9fee1e7c462d">   77</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a1ed12cbc71284694e5ff9fee1e7c462d">readNextAsync</a>(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#ae85314d6b9e8afd831cf8c66705f2dbb">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#a203d50fd687e2c77e4f7e7bb0b14bab7">   91</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a203d50fd687e2c77e4f7e7bb0b14bab7">closeAsync</a>(<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#a0c3755b32954d1aeb1b4ef60e4314c1d">   96</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a0c3755b32954d1aeb1b4ef60e4314c1d">hasMessageAvailableAsync</a>(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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a7f751b63fba4d4734ff79da590f9fd56">hasMessageAvailable</a>(<span class="keywordtype">bool</span>&amp; hasMessageAvailable);</div>
+<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#ae85314d6b9e8afd831cf8c66705f2dbb">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#ae85314d6b9e8afd831cf8c66705f2dbb">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#acba58f8fb3ecefc4a693a1091f3c4669">  133</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#acba58f8fb3ecefc4a693a1091f3c4669">seekAsync</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; msgId, <a class="code hl_typedef" href="namespac [...]
+<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#addec61dc54aba2959c06a2017bea7c32">  141</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#addec61dc54aba2959c06a2017bea7c32">seekAsync</a>(uint64_t timestamp, <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> callback);</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_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#a1f863d880dc85400e7e50fcd831d7f5e">  152</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader.html#a1f863d880dc85400e7e50fcd831d7f5e">getLastMessageIdAsync</a>(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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_reader.html#a80a0a4dbbe3cf8a9fb074c7556715823">getLastMessageId</a>(<a class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; messageId);</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;ReaderImpl&gt; ReaderImplPtr;</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>    ReaderImplPtr impl_;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>    <span class="keyword">explicit</span> <a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a>(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 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:44</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"><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_reader_html_a0c3755b32954d1aeb1b4ef60e4314c1d"><div class="ttname"><a href="classpulsar_1_1_reader.html#a0c3755b32954d1aeb1b4ef60e4314c1d">pulsar::Reader::hasMessageAvailableAsync</a></div><div class="ttdeci">void hasMessageAvailableAsync(HasMessageAvailableCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a11756c69a2f5bd99e302a384ae8a9ff4"><div class="ttname"><a href="classpulsar_1_1_reader.html#a11756c69a2f5bd99e302a384ae8a9ff4">pulsar::Reader::readNext</a></div><div class="ttdeci">Result readNext(Message &amp;msg)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a1b682c6bacd8514221bbb6b25c84c051"><div class="ttname"><a href="classpulsar_1_1_reader.html#a1b682c6bacd8514221bbb6b25c84c051">pulsar::Reader::getTopic</a></div><div class="ttdeci">const std::string &amp; getTopic() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a1c34e49ba3dbca0ff7e23ea9ff94db7b"><div class="ttname"><a href="classpulsar_1_1_reader.html#a1c34e49ba3dbca0ff7e23ea9ff94db7b">pulsar::Reader::Reader</a></div><div class="ttdeci">Reader()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a1ed12cbc71284694e5ff9fee1e7c462d"><div class="ttname"><a href="classpulsar_1_1_reader.html#a1ed12cbc71284694e5ff9fee1e7c462d">pulsar::Reader::readNextAsync</a></div><div class="ttdeci">void readNextAsync(ReadNextCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a1f863d880dc85400e7e50fcd831d7f5e"><div class="ttname"><a href="classpulsar_1_1_reader.html#a1f863d880dc85400e7e50fcd831d7f5e">pulsar::Reader::getLastMessageIdAsync</a></div><div class="ttdeci">void getLastMessageIdAsync(GetLastMessageIdCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a203d50fd687e2c77e4f7e7bb0b14bab7"><div class="ttname"><a href="classpulsar_1_1_reader.html#a203d50fd687e2c77e4f7e7bb0b14bab7">pulsar::Reader::closeAsync</a></div><div class="ttdeci">void closeAsync(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 &amp;msg, int timeoutMs)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a6bec25700e5b4eb7be41625a9bc856bd"><div class="ttname"><a href="classpulsar_1_1_reader.html#a6bec25700e5b4eb7be41625a9bc856bd">pulsar::Reader::seek</a></div><div class="ttdeci">Result seek(const MessageId &amp;msgId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a7f751b63fba4d4734ff79da590f9fd56"><div class="ttname"><a href="classpulsar_1_1_reader.html#a7f751b63fba4d4734ff79da590f9fd56">pulsar::Reader::hasMessageAvailable</a></div><div class="ttdeci">Result hasMessageAvailable(bool &amp;hasMessageAvailable)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_a80a0a4dbbe3cf8a9fb074c7556715823"><div class="ttname"><a href="classpulsar_1_1_reader.html#a80a0a4dbbe3cf8a9fb074c7556715823">pulsar::Reader::getLastMessageId</a></div><div class="ttdeci">Result getLastMessageId(MessageId &amp;messageId)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_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_acba58f8fb3ecefc4a693a1091f3c4669"><div class="ttname"><a href="classpulsar_1_1_reader.html#acba58f8fb3ecefc4a693a1091f3c4669">pulsar::Reader::seekAsync</a></div><div class="ttdeci">void seekAsync(const MessageId &amp;msgId, ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html_addec61dc54aba2959c06a2017bea7c32"><div class="ttname"><a href="classpulsar_1_1_reader.html#addec61dc54aba2959c06a2017bea7c32">pulsar::Reader::seekAsync</a></div><div class="ttdeci">void seekAsync(uint64_t timestamp, 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_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_reader_configuration_8h_source.html b/static/api/cpp/3.3.x/_reader_configuration_8h_source.html
new file mode 100644
index 00000000000..589357942e0
--- /dev/null
+++ b/static/api/cpp/3.3.x/_reader_configuration_8h_source.html
@@ -0,0 +1,237 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">ReaderConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_READER_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_READER_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/ConsumerCryptoFailureAction.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/CryptoKeyReader.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">class </span>Reader;</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">class </span>PulsarWrapper;</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result)&gt; <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>;</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result, MessageId messageId)&gt; GetLastMessageIdCallback;</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">   42</a></span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_class" href="classpulsar_1_1_reader.html">Reader</a> reader, <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; msg)&gt; <a class="code hl_typedef" href="namespacepulsar.html#a9bddad68804 [...]
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span><span class="keyword">struct </span>ReaderConfigurationImpl;</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span> </div>
+<div class="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 <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</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>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>();</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">~ReaderConfiguration</a>();</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; operator=(<span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp;);</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#acbc3fa4579799b7857ca0daa938b0459">   64</a></span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#acbc3fa4579799b7857ca0daa938b0459">setSchema</a>(<span class="keyword">const</span> <a class="code hl_class" href="classpu [...]
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a6cd2f670fd1a988fbe94eaa78daeb500">   69</a></span>    <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a6cd2f670fd1a988fbe94eaa78daeb500">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#abade75269a49ba228530847e2013303d">   75</a></span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#abade75269a49ba228530847e2013303d">setReaderListener</a>(<a class="code hl_typedef" href="namespacepulsar.html#a9bddad6880 [...]
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span> </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aac94153e08ec204f23de0700a5f5a26d">   80</a></span>    <a class="code hl_typedef" href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">ReaderListener</a> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aac94153e08ec204f23de0700a5f5a26d">getReaderListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a104b07bc32a421a8527e7d167ec2c611">   85</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a104b07bc32a421a8527e7d167ec2c611">hasReaderListener</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a0574cedc0bc7ccf457071df866830abe">  108</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a0574cedc0bc7ccf457071df866830abe">setReceiverQueueSize</a>(<span class="keywordtype">int</span> size);</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#acc4df17a3e440a6b6d0b5f887be396b9">  113</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#acc4df17a3e440a6b6d0b5f887be396b9">getReceiverQueueSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a8d42ba4bd17f9ac54a609d94f98780a2">  120</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a8d42ba4bd17f9ac54a609d94f98780a2">setReaderName</a>(<span class="keyword">const</span> std::string&amp; readerName);</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ade2223dccff6f75d659fca0e1a65550c">  125</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ade2223dccff6f75d659fca0e1a65550c">getReaderName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a281c0ae5579461f80677b43126329cd1">  134</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a281c0ae5579461f80677b43126329cd1">setSubscriptionRolePrefix</a>(<span class="keyword">const</span> std::string&amp; subscriptionRolePrefix);</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span> </div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ae5107fa6216f477789c84338ab87675c">  139</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ae5107fa6216f477789c84338ab87675c">getSubscriptionRolePrefix</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span> </div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aaf766afd6e75d0e1454d81d980f019b3">  154</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aaf766afd6e75d0e1454d81d980f019b3">setReadCompacted</a>(<span class="keywordtype">bool</span> compacted);</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a93a555fd5dc20d394ea45e9155301ee4">  159</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a93a555fd5dc20d394ea45e9155301ee4">isReadCompacted</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> </div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ae1848f9313953faf2ab00f198d412108">  167</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ae1848f9313953faf2ab00f198d412108">setInternalSubscriptionName</a>(std::string internalSubscriptionName);</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a9cbcd290feb9368452ae1536360819f6">  172</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a9cbcd290feb9368452ae1536360819f6">getInternalSubscriptionName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a11da218b52a8936415029509b9c707e9">  181</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a11da218b52a8936415029509b9c707e9">setUnAckedMessagesTimeoutMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a35aadcf27818f2b46125004dcf160fe6">  186</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a35aadcf27818f2b46125004dcf160fe6">getUnAckedMessagesTimeoutMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a23df99b9e97709fcaa50e1766eb84e9b">  200</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a23df99b9e97709fcaa50e1766eb84e9b">setTickDurationInMs</a>(<span class="keyword">const</span> uint64_t milliSeconds);</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a1618961cba0c4c980b01a6a42aac8036">  205</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a1618961cba0c4c980b01a6a42aac8036">getTickDurationInMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span> </div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ab909115a0d99bf1d13f00d098bd4af6f">  215</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ab909115a0d99bf1d13f00d098bd4af6f">setAckGroupingTimeMs</a>(<span class="keywordtype">long</span> ackGroupingMillis);</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ad99affc2c9331c5a2116ce5a07147b3d">  222</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ad99affc2c9331c5a2116ce5a07147b3d">getAckGroupingTimeMs</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span> </div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#af3e84677688a37133d9b270f86aed8da">  230</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#af3e84677688a37133d9b270f86aed8da">setAckGroupingMaxSize</a>(<span class="keywordtype">long</span> maxGroupingSize);</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span> </div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#af6cfd1444b643e174269b42c961eaa3a">  237</a></span>    <span class="keywordtype">long</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#af6cfd1444b643e174269b42c961eaa3a">getAckGroupingMaxSize</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aa2cc4490830aeebee9c1a16589b8c429">  242</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aa2cc4490830aeebee9c1a16589b8c429">isEncryptionEnabled</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span> </div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ae14fe911357bd22d2e1eecb5184a95ef">  247</a></span>    <span class="keyword">const</span> CryptoKeyReaderPtr <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ae14fe911357bd22d2e1eecb5184a95ef">getCryptoKeyReader</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span> </div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a3ce07aacf5e43c5e3252d30e70556fc4">  254</a></span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a3ce07aacf5e43c5e3252d30e70556fc4">setCryptoKeyReader</a>(CryptoKeyReaderPtr cryptoKeyReader);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span> </div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#aed1711ef9d9fed0a14f80451956cabe8">  259</a></span>    ConsumerCryptoFailureAction <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#aed1711ef9d9fed0a14f80451956cabe8">getCryptoFailureAction</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span> </div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a717ee81f7651851635a569fe35d735ea">  264</a></span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a717ee81f7651851635a569fe35d735ea">setCryptoFailureAction</a>(ConsumerCryptoFailureAction action);</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ad34cc5c0bb490e5588653f7bbbf3cd2a">  274</a></span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ad34cc5c0bb490e5588653f7bbbf3cd2a">setStartMessageIdInclusive</a>(<span class="keywordtype">bool</span> startMessageIdIncl [...]
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span> </div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a2c9f4927d01acddc1106c9c1812acd47">  279</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a2c9f4927d01acddc1106c9c1812acd47">isStartMessageIdInclusive</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a0d53c4ac681120500c4d057a60f6f6a6">  288</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a0d53c4ac681120500c4d057a60f6f6a6">hasProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span> </div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">  296</a></span>    <span class="keyword">const</span> std::string&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">getProperty</a>(<span class="keyword">const</span> std::string&amp; name) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span> </div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a9e201286fcc453d43bd188fbe1c96490">  301</a></span>    std::map&lt;std::string, std::string&gt;&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a9e201286fcc453d43bd188fbe1c96490">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">  308</a></span>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">setProperty</a>(<span class="keyword">const</span> std::string&amp; name, <span class=" [...]
+<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>    <a class="code hl_class" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a>&amp; <a class="code hl_function" href="classpulsar_1_1_reader_configuration.html#a12a43dd43372fb0b173002597bfdb2e3">setProperties</a>(<span class="keyword">const</span> std::map&lt;std::string, std::stri [...]
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span> </div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>    std::shared_ptr&lt;ReaderConfigurationImpl&gt; impl_;</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>};</div>
+<div 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:44</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_configuration_html_a0574cedc0bc7ccf457071df866830abe"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a0574cedc0bc7ccf457071df866830abe">pulsar::ReaderConfiguration::setReceiverQueueSize</a></div><div class="ttdeci">void setReceiverQueueSize(int size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a0d53c4ac681120500c4d057a60f6f6a6"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a0d53c4ac681120500c4d057a60f6f6a6">pulsar::ReaderConfiguration::hasProperty</a></div><div class="ttdeci">bool hasProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a104b07bc32a421a8527e7d167ec2c611"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a104b07bc32a421a8527e7d167ec2c611">pulsar::ReaderConfiguration::hasReaderListener</a></div><div class="ttdeci">bool hasReaderListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a11da218b52a8936415029509b9c707e9"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a11da218b52a8936415029509b9c707e9">pulsar::ReaderConfiguration::setUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">void setUnAckedMessagesTimeoutMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a12a43dd43372fb0b173002597bfdb2e3"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a12a43dd43372fb0b173002597bfdb2e3">pulsar::ReaderConfiguration::setProperties</a></div><div class="ttdeci">ReaderConfiguration &amp; setProperties(const std::map&lt; std::string, std::string &gt; &amp;properties)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a1618961cba0c4c980b01a6a42aac8036"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a1618961cba0c4c980b01a6a42aac8036">pulsar::ReaderConfiguration::getTickDurationInMs</a></div><div class="ttdeci">long getTickDurationInMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a23df99b9e97709fcaa50e1766eb84e9b"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a23df99b9e97709fcaa50e1766eb84e9b">pulsar::ReaderConfiguration::setTickDurationInMs</a></div><div class="ttdeci">void setTickDurationInMs(const uint64_t milliSeconds)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a281c0ae5579461f80677b43126329cd1"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a281c0ae5579461f80677b43126329cd1">pulsar::ReaderConfiguration::setSubscriptionRolePrefix</a></div><div class="ttdeci">void setSubscriptionRolePrefix(const std::string &amp;subscriptionRolePrefix)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a2c9f4927d01acddc1106c9c1812acd47"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a2c9f4927d01acddc1106c9c1812acd47">pulsar::ReaderConfiguration::isStartMessageIdInclusive</a></div><div class="ttdeci">bool isStartMessageIdInclusive() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a35aadcf27818f2b46125004dcf160fe6"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a35aadcf27818f2b46125004dcf160fe6">pulsar::ReaderConfiguration::getUnAckedMessagesTimeoutMs</a></div><div class="ttdeci">long getUnAckedMessagesTimeoutMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a3ce07aacf5e43c5e3252d30e70556fc4"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a3ce07aacf5e43c5e3252d30e70556fc4">pulsar::ReaderConfiguration::setCryptoKeyReader</a></div><div class="ttdeci">ReaderConfiguration &amp; setCryptoKeyReader(CryptoKeyReaderPtr cryptoKeyReader)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a6cd2f670fd1a988fbe94eaa78daeb500"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a6cd2f670fd1a988fbe94eaa78daeb500">pulsar::ReaderConfiguration::getSchema</a></div><div class="ttdeci">const SchemaInfo &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a717ee81f7651851635a569fe35d735ea"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a717ee81f7651851635a569fe35d735ea">pulsar::ReaderConfiguration::setCryptoFailureAction</a></div><div class="ttdeci">ReaderConfiguration &amp; setCryptoFailureAction(ConsumerCryptoFailureAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a8d42ba4bd17f9ac54a609d94f98780a2"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a8d42ba4bd17f9ac54a609d94f98780a2">pulsar::ReaderConfiguration::setReaderName</a></div><div class="ttdeci">void setReaderName(const std::string &amp;readerName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a8fa193115478c84dfdef934fd50861fd"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a8fa193115478c84dfdef934fd50861fd">pulsar::ReaderConfiguration::setProperty</a></div><div class="ttdeci">ReaderConfiguration &amp; setProperty(const std::string &amp;name, const std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a93a555fd5dc20d394ea45e9155301ee4"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a93a555fd5dc20d394ea45e9155301ee4">pulsar::ReaderConfiguration::isReadCompacted</a></div><div class="ttdeci">bool isReadCompacted() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a9cbcd290feb9368452ae1536360819f6"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a9cbcd290feb9368452ae1536360819f6">pulsar::ReaderConfiguration::getInternalSubscriptionName</a></div><div class="ttdeci">const std::string &amp; getInternalSubscriptionName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_a9e201286fcc453d43bd188fbe1c96490"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#a9e201286fcc453d43bd188fbe1c96490">pulsar::ReaderConfiguration::getProperties</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aa2cc4490830aeebee9c1a16589b8c429"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aa2cc4490830aeebee9c1a16589b8c429">pulsar::ReaderConfiguration::isEncryptionEnabled</a></div><div class="ttdeci">bool isEncryptionEnabled() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aac94153e08ec204f23de0700a5f5a26d"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aac94153e08ec204f23de0700a5f5a26d">pulsar::ReaderConfiguration::getReaderListener</a></div><div class="ttdeci">ReaderListener getReaderListener() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aaf766afd6e75d0e1454d81d980f019b3"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aaf766afd6e75d0e1454d81d980f019b3">pulsar::ReaderConfiguration::setReadCompacted</a></div><div class="ttdeci">void setReadCompacted(bool compacted)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ab006f647e263bd9be6f911a1b0299753"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ab006f647e263bd9be6f911a1b0299753">pulsar::ReaderConfiguration::getProperty</a></div><div class="ttdeci">const std::string &amp; getProperty(const std::string &amp;name) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ab909115a0d99bf1d13f00d098bd4af6f"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ab909115a0d99bf1d13f00d098bd4af6f">pulsar::ReaderConfiguration::setAckGroupingTimeMs</a></div><div class="ttdeci">void setAckGroupingTimeMs(long ackGroupingMillis)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_abade75269a49ba228530847e2013303d"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#abade75269a49ba228530847e2013303d">pulsar::ReaderConfiguration::setReaderListener</a></div><div class="ttdeci">ReaderConfiguration &amp; setReaderListener(ReaderListener listener)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_acbc3fa4579799b7857ca0daa938b0459"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#acbc3fa4579799b7857ca0daa938b0459">pulsar::ReaderConfiguration::setSchema</a></div><div class="ttdeci">ReaderConfiguration &amp; setSchema(const SchemaInfo &amp;schemaInfo)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_acc4df17a3e440a6b6d0b5f887be396b9"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#acc4df17a3e440a6b6d0b5f887be396b9">pulsar::ReaderConfiguration::getReceiverQueueSize</a></div><div class="ttdeci">int getReceiverQueueSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ad34cc5c0bb490e5588653f7bbbf3cd2a"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ad34cc5c0bb490e5588653f7bbbf3cd2a">pulsar::ReaderConfiguration::setStartMessageIdInclusive</a></div><div class="ttdeci">ReaderConfiguration &amp; setStartMessageIdInclusive(bool startMessageIdInclusive)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ad99affc2c9331c5a2116ce5a07147b3d"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ad99affc2c9331c5a2116ce5a07147b3d">pulsar::ReaderConfiguration::getAckGroupingTimeMs</a></div><div class="ttdeci">long getAckGroupingTimeMs() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ade2223dccff6f75d659fca0e1a65550c"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ade2223dccff6f75d659fca0e1a65550c">pulsar::ReaderConfiguration::getReaderName</a></div><div class="ttdeci">const std::string &amp; getReaderName() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ae14fe911357bd22d2e1eecb5184a95ef"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ae14fe911357bd22d2e1eecb5184a95ef">pulsar::ReaderConfiguration::getCryptoKeyReader</a></div><div class="ttdeci">const CryptoKeyReaderPtr getCryptoKeyReader() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ae1848f9313953faf2ab00f198d412108"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ae1848f9313953faf2ab00f198d412108">pulsar::ReaderConfiguration::setInternalSubscriptionName</a></div><div class="ttdeci">void setInternalSubscriptionName(std::string internalSubscriptionName)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_ae5107fa6216f477789c84338ab87675c"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#ae5107fa6216f477789c84338ab87675c">pulsar::ReaderConfiguration::getSubscriptionRolePrefix</a></div><div class="ttdeci">const std::string &amp; getSubscriptionRolePrefix() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_aed1711ef9d9fed0a14f80451956cabe8"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#aed1711ef9d9fed0a14f80451956cabe8">pulsar::ReaderConfiguration::getCryptoFailureAction</a></div><div class="ttdeci">ConsumerCryptoFailureAction getCryptoFailureAction() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_af3e84677688a37133d9b270f86aed8da"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#af3e84677688a37133d9b270f86aed8da">pulsar::ReaderConfiguration::setAckGroupingMaxSize</a></div><div class="ttdeci">void setAckGroupingMaxSize(long maxGroupingSize)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_configuration_html_af6cfd1444b643e174269b42c961eaa3a"><div class="ttname"><a href="classpulsar_1_1_reader_configuration.html#af6cfd1444b643e174269b42c961eaa3a">pulsar::ReaderConfiguration::getAckGroupingMaxSize</a></div><div class="ttdeci">long getAckGroupingMaxSize() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_reader_html"><div class="ttname"><a href="classpulsar_1_1_reader.html">pulsar::Reader</a></div><div class="ttdef"><b>Definition</b> Reader.h:37</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html"><div class="ttname"><a href="classpulsar_1_1_schema_info.html">pulsar::SchemaInfo</a></div><div class="ttdef"><b>Definition</b> Schema.h:146</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_a9bddad6880419962bbc6af877209cd49"><div class="ttname"><a href="namespacepulsar.html#a9bddad6880419962bbc6af877209cd49">pulsar::ReaderListener</a></div><div class="ttdeci">std::function&lt; void(Reader reader, const Message &amp;msg)&gt; ReaderListener</div><div class="ttdoc">Callback definition for MessageListener.</div><div class="ttdef"><b>Definition</b> ReaderConfiguration.h:42</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_regex_subscription_mode_8h_source.html b/static/api/cpp/3.3.x/_regex_subscription_mode_8h_source.html
new file mode 100644
index 00000000000..cc771c4d847
--- /dev/null
+++ b/static/api/cpp/3.3.x/_regex_subscription_mode_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="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">   38</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"><a class="line" href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef">   39</a></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> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor">#endif  </span><span class="comment">// PULSAR_CPP_REGEX_SUB_MODE_H</span></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbd"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbd">pulsar::RegexSubscriptionMode</a></div><div class="ttdeci">RegexSubscriptionMode</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:24</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbda5af3d512f79ac90cacc326d86a230603"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda5af3d512f79ac90cacc326d86a230603">pulsar::NonPersistentOnly</a></div><div class="ttdeci">@ NonPersistentOnly</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:33</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbda68931062ae96d4dcc4778eeac5fa3de4"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbda68931062ae96d4dcc4778eeac5fa3de4">pulsar::PersistentOnly</a></div><div class="ttdeci">@ PersistentOnly</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html_abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef"><div class="ttname"><a href="namespacepulsar.html#abd9b21e56a6fb78e04cae2664ff0dbbdaa30bab3d7d550e08f128647cbbd5b6ef">pulsar::AllTopics</a></div><div class="ttdeci">@ AllTopics</div><div class="ttdef"><b>Definition</b> RegexSubscriptionMode.h:38</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_result_8h_source.html b/static/api/cpp/3.3.x/_result_8h_source.html
new file mode 100644
index 00000000000..e43efcd395b
--- /dev/null
+++ b/static/api/cpp/3.3.x/_result_8h_source.html
@@ -0,0 +1,216 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Result.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef ERROR_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define ERROR_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">   31</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</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>    ResultRetryable = -1,  </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f">   34</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f">ResultOk</a> = 0,          </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba213e39d5c84b8794dd21ab4f60ff4b60">   36</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba213e39d5c84b8794dd21ab4f60ff4b60">ResultUnknownError</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad3d7545107897e19819066fe42e81a06">   38</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad3d7545107897e19819066fe42e81a06">ResultInvalidConfiguration</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaeb1858ddf791b7288ab1cb066d70cfb4">   40</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaeb1858ddf791b7288ab1cb066d70cfb4">ResultTimeout</a>,       </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba42ae88341f22c34ed9baac35804f1b01">   41</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba42ae88341f22c34ed9baac35804f1b01">ResultLookupError</a>,   </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbab26ee1bb88fafefa107071fa1fd775bc">   42</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbab26ee1bb88fafefa107071fa1fd775bc">ResultConnectError</a>,  </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaa084aea99a198f2d01c6c98eeb44ff9e">   43</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaa084aea99a198f2d01c6c98eeb44ff9e">ResultReadError</a>,     </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2b40eba56a27dc5615338a0d988e2024">   45</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2b40eba56a27dc5615338a0d988e2024">ResultAuthenticationError</a>,             </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba4db07aa497065f6cc0d8e314bf852057">   46</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba4db07aa497065f6cc0d8e314bf852057">ResultAuthorizationError</a>,              </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba8014344f94ba9ad55337f01767e0e30c">   47</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba8014344f94ba9ad55337f01767e0e30c">ResultErrorGettingAuthenticationData</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2188e16c2e397cee5f64aef6799c419c">   49</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2188e16c2e397cee5f64aef6799c419c">ResultBrokerMetadataError</a>,     </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba3ac5992ae486593f5aee1538970b51a6">   50</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba3ac5992ae486593f5aee1538970b51a6">ResultBrokerPersistenceError</a>,  </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba60d3371f74155ecb5b11efbf217a2174">   51</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba60d3371f74155ecb5b11efbf217a2174">ResultChecksumError</a>,           </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba5cbe2e189b60f91ff0f2e82b973db31b">   53</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba5cbe2e189b60f91ff0f2e82b973db31b">ResultConsumerBusy</a>,   </div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba00976fab0138d80c5fc621e3a44046b6">   54</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba00976fab0138d80c5fc621e3a44046b6">ResultNotConnected</a>,   </div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba6c11f7cd8f0bc274d12c5157157ad916">   55</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba6c11f7cd8f0bc274d12c5157157ad916">ResultAlreadyClosed</a>,  </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="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba875234396481a34fb7f02d3ecd1936f0">   57</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba875234396481a34fb7f02d3ecd1936f0">ResultInvalidMessage</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba48d27a5310cda91d13a23324a08533e9">   59</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba48d27a5310cda91d13a23324a08533e9">ResultConsumerNotInitialized</a>,         </div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2b5f050c9b2aef10831927cece55b02a">   60</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2b5f050c9b2aef10831927cece55b02a">ResultProducerNotInitialized</a>,         </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad0a7588cc2ac84de7fc17331ed59b544">   61</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad0a7588cc2ac84de7fc17331ed59b544">ResultProducerBusy</a>,                   </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba024fa5ba9fac2cb81fd4e8f6853a81a5">   62</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba024fa5ba9fac2cb81fd4e8f6853a81a5">ResultTooManyLookupRequestException</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbafcb0b43f04e494ba3784f6c259b5137f">   64</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbafcb0b43f04e494ba3784f6c259b5137f">ResultInvalidTopicName</a>,  </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba685954a2aedb14c0f3669d579bfd1193">   65</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba685954a2aedb14c0f3669d579bfd1193">ResultInvalidUrl</a>,  </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaf8a459f352105f7e853e02ca2af193b0">   66</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaf8a459f352105f7e853e02ca2af193b0">ResultServiceUnitNotReady</a>,  </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba60abb5ad06a78a3d6d40b2131534dfeb">   68</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba60abb5ad06a78a3d6d40b2131534dfeb">ResultOperationNotSupported</a>,</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>    ResultProducerBlockedQuotaExceededError,      </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbab5cc52655496666d96f35edab07c9e7f">   70</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbab5cc52655496666d96f35edab07c9e7f">ResultProducerBlockedQuotaExceededException</a>,  </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba1849c732b1ec8c7e1c0aa653de998d81">   71</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba1849c732b1ec8c7e1c0aa653de998d81">ResultProducerQueueIsFull</a>,                    </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba43765d6a6cab85363b2cad047371294b">   72</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba43765d6a6cab85363b2cad047371294b">ResultMessageTooBig</a>,                          </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad1921e33dd6a45431a0209b70588cf48">   73</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad1921e33dd6a45431a0209b70588cf48">ResultTopicNotFound</a>,                          </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba061d6c40bdf75ca172ffdb862aad7c51">   74</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba061d6c40bdf75ca172ffdb862aad7c51">ResultSubscriptionNotFound</a>,                   </div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac74e9fb1b2c25caf17ac3446303b7a71">   75</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac74e9fb1b2c25caf17ac3446303b7a71">ResultConsumerNotFound</a>,                       </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba888578f8569121606cfcfa6044c594c3">   76</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba888578f8569121606cfcfa6044c594c3">ResultUnsupportedVersionError</a>,  </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba62df217dec3d3f75c7099d1464c92750">   77</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba62df217dec3d3f75c7099d1464c92750">ResultTopicTerminated</a>,          </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac131b27876dfd64d8e6b3355578a8f77">   78</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac131b27876dfd64d8e6b3355578a8f77">ResultCryptoError</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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbafe509853528453adc4ca304ea9b1d79e">   80</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbafe509853528453adc4ca304ea9b1d79e">ResultIncompatibleSchema</a>,   </div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac0f35889e7dd6cb7f634baedb8481e9e">   81</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac0f35889e7dd6cb7f634baedb8481e9e">ResultConsumerAssignError</a>,  </div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2e01cfc218b721cbd2e2a06bf3cb78b0">   83</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2e01cfc218b721cbd2e2a06bf3cb78b0">ResultCumulativeAcknowledgementNotAllowedError</a>,  </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba653a82475a2715f839ba52329a9b6414">   85</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba653a82475a2715f839ba52329a9b6414">ResultTransactionCoordinatorNotFoundError</a>,       </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba742ada2f12ae5b2ca11fa674889dc186">   86</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba742ada2f12ae5b2ca11fa674889dc186">ResultInvalidTxnStatusError</a>,                     </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad38a4ab387c0769f3c8c30fd2c7413a1">   87</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad38a4ab387c0769f3c8c30fd2c7413a1">ResultNotAllowedError</a>,                           </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba39c2049f4e7e428d2a4473b68223a53c">   88</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba39c2049f4e7e428d2a4473b68223a53c">ResultTransactionConflict</a>,                       </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaf4bfae37b494ea0a2599cc4596bccdf0">   89</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaf4bfae37b494ea0a2599cc4596bccdf0">ResultTransactionNotFound</a>,                       </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba6370706ff98bf4c513f11489679543cb">   90</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba6370706ff98bf4c513f11489679543cb">ResultProducerFenced</a>,                            </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba7eaf7df2c4a2ac2f874e044db02c6733">   92</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba7eaf7df2c4a2ac2f874e044db02c6733">ResultMemoryBufferIsFull</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba67722ba0750e461ae03912f5dc10d03a">   94</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba67722ba0750e461ae03912f5dc10d03a">ResultInterrupted</a>,  </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"><a class="line" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba287510a5c9a382f29f0cbdf3d32c0d59">   96</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba287510a5c9a382f29f0cbdf3d32c0d59">ResultDisconnected</a>,  </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> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span><span class="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span>* strResult(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result);</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>PULSAR_PUBLIC std::ostream&amp; operator&lt;&lt;(std::ostream&amp; s, <a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a> result);</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>}  <span class="comment">// namespace pulsar</span></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><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_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba00976fab0138d80c5fc621e3a44046b6"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba00976fab0138d80c5fc621e3a44046b6">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:54</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba024fa5ba9fac2cb81fd4e8f6853a81a5"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba024fa5ba9fac2cb81fd4e8f6853a81a5">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:62</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba061d6c40bdf75ca172ffdb862aad7c51"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba061d6c40bdf75ca172ffdb862aad7c51">pulsar::ResultSubscriptionNotFound</a></div><div class="ttdeci">@ ResultSubscriptionNotFound</div><div class="ttdoc">Topic not found.</div><div class="ttdef"><b>Definition</b> Result.h:74</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba0aac5dae08c453e94161e28d7cd5a92f">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:34</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba1849c732b1ec8c7e1c0aa653de998d81"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba1849c732b1ec8c7e1c0aa653de998d81">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:71</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba213e39d5c84b8794dd21ab4f60ff4b60"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba213e39d5c84b8794dd21ab4f60ff4b60">pulsar::ResultUnknownError</a></div><div class="ttdeci">@ ResultUnknownError</div><div class="ttdoc">Operation successful.</div><div class="ttdef"><b>Definition</b> Result.h:36</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba2188e16c2e397cee5f64aef6799c419c"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2188e16c2e397cee5f64aef6799c419c">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:49</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba287510a5c9a382f29f0cbdf3d32c0d59"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba287510a5c9a382f29f0cbdf3d32c0d59">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:96</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba2b40eba56a27dc5615338a0d988e2024"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2b40eba56a27dc5615338a0d988e2024">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:45</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba2b5f050c9b2aef10831927cece55b02a"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2b5f050c9b2aef10831927cece55b02a">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:60</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba2e01cfc218b721cbd2e2a06bf3cb78b0"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba2e01cfc218b721cbd2e2a06bf3cb78b0">pulsar::ResultCumulativeAcknowledgementNotAllowedError</a></div><div class="ttdeci">@ ResultCumulativeAcknowledgementNotAllowedError</div><div class="ttdef"><b>Definition</b> Result.h:83</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba39c2049f4e7e428d2a4473b68223a53c"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba39c2049f4e7e428d2a4473b68223a53c">pulsar::ResultTransactionConflict</a></div><div class="ttdeci">@ ResultTransactionConflict</div><div class="ttdoc">Not allowed.</div><div class="ttdef"><b>Definition</b> Result.h:88</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba3ac5992ae486593f5aee1538970b51a6"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba3ac5992ae486593f5aee1538970b51a6">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:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba42ae88341f22c34ed9baac35804f1b01"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba42ae88341f22c34ed9baac35804f1b01">pulsar::ResultLookupError</a></div><div class="ttdeci">@ ResultLookupError</div><div class="ttdoc">Operation timed out.</div><div class="ttdef"><b>Definition</b> Result.h:41</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba43765d6a6cab85363b2cad047371294b"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba43765d6a6cab85363b2cad047371294b">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:72</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba48d27a5310cda91d13a23324a08533e9"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba48d27a5310cda91d13a23324a08533e9">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:59</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba4db07aa497065f6cc0d8e314bf852057"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba4db07aa497065f6cc0d8e314bf852057">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:46</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba5cbe2e189b60f91ff0f2e82b973db31b"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba5cbe2e189b60f91ff0f2e82b973db31b">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:53</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba60abb5ad06a78a3d6d40b2131534dfeb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba60abb5ad06a78a3d6d40b2131534dfeb">pulsar::ResultOperationNotSupported</a></div><div class="ttdeci">@ ResultOperationNotSupported</div><div class="ttdef"><b>Definition</b> Result.h:68</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba60d3371f74155ecb5b11efbf217a2174"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba60d3371f74155ecb5b11efbf217a2174">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:51</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba62df217dec3d3f75c7099d1464c92750"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba62df217dec3d3f75c7099d1464c92750">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:77</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba6370706ff98bf4c513f11489679543cb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba6370706ff98bf4c513f11489679543cb">pulsar::ResultProducerFenced</a></div><div class="ttdeci">@ ResultProducerFenced</div><div class="ttdoc">Transaction not found.</div><div class="ttdef"><b>Definition</b> Result.h:90</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba653a82475a2715f839ba52329a9b6414"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba653a82475a2715f839ba52329a9b6414">pulsar::ResultTransactionCoordinatorNotFoundError</a></div><div class="ttdeci">@ ResultTransactionCoordinatorNotFoundError</div><div class="ttdef"><b>Definition</b> Result.h:85</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba67722ba0750e461ae03912f5dc10d03a"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba67722ba0750e461ae03912f5dc10d03a">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:94</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba685954a2aedb14c0f3669d579bfd1193"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba685954a2aedb14c0f3669d579bfd1193">pulsar::ResultInvalidUrl</a></div><div class="ttdeci">@ ResultInvalidUrl</div><div class="ttdoc">Invalid topic name.</div><div class="ttdef"><b>Definition</b> Result.h:65</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba6c11f7cd8f0bc274d12c5157157ad916"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba6c11f7cd8f0bc274d12c5157157ad916">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:55</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba742ada2f12ae5b2ca11fa674889dc186"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba742ada2f12ae5b2ca11fa674889dc186">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:86</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba7eaf7df2c4a2ac2f874e044db02c6733"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba7eaf7df2c4a2ac2f874e044db02c6733">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:92</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba8014344f94ba9ad55337f01767e0e30c"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba8014344f94ba9ad55337f01767e0e30c">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:47</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba875234396481a34fb7f02d3ecd1936f0"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba875234396481a34fb7f02d3ecd1936f0">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:57</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbba888578f8569121606cfcfa6044c594c3"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbba888578f8569121606cfcfa6044c594c3">pulsar::ResultUnsupportedVersionError</a></div><div class="ttdeci">@ ResultUnsupportedVersionError</div><div class="ttdoc">Consumer not found.</div><div class="ttdef"><b>Definition</b> Result.h:76</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbaa084aea99a198f2d01c6c98eeb44ff9e"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaa084aea99a198f2d01c6c98eeb44ff9e">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:43</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbab26ee1bb88fafefa107071fa1fd775bc"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbab26ee1bb88fafefa107071fa1fd775bc">pulsar::ResultConnectError</a></div><div class="ttdeci">@ ResultConnectError</div><div class="ttdoc">Broker lookup failed.</div><div class="ttdef"><b>Definition</b> Result.h:42</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbab5cc52655496666d96f35edab07c9e7f"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbab5cc52655496666d96f35edab07c9e7f">pulsar::ResultProducerBlockedQuotaExceededException</a></div><div class="ttdeci">@ ResultProducerBlockedQuotaExceededException</div><div class="ttdoc">Producer is blocked.</div><div class="ttdef"><b>Definition</b> Result.h:70</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbac0f35889e7dd6cb7f634baedb8481e9e"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac0f35889e7dd6cb7f634baedb8481e9e">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:81</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbac131b27876dfd64d8e6b3355578a8f77"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac131b27876dfd64d8e6b3355578a8f77">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:78</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbac74e9fb1b2c25caf17ac3446303b7a71"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbac74e9fb1b2c25caf17ac3446303b7a71">pulsar::ResultConsumerNotFound</a></div><div class="ttdeci">@ ResultConsumerNotFound</div><div class="ttdoc">Subscription not found.</div><div class="ttdef"><b>Definition</b> Result.h:75</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbad0a7588cc2ac84de7fc17331ed59b544"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad0a7588cc2ac84de7fc17331ed59b544">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:61</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbad1921e33dd6a45431a0209b70588cf48"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad1921e33dd6a45431a0209b70588cf48">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:73</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbad38a4ab387c0769f3c8c30fd2c7413a1"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad38a4ab387c0769f3c8c30fd2c7413a1">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:87</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbad3d7545107897e19819066fe42e81a06"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbad3d7545107897e19819066fe42e81a06">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:38</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbaeb1858ddf791b7288ab1cb066d70cfb4"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaeb1858ddf791b7288ab1cb066d70cfb4">pulsar::ResultTimeout</a></div><div class="ttdeci">@ ResultTimeout</div><div class="ttdoc">Invalid configuration.</div><div class="ttdef"><b>Definition</b> Result.h:40</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbaf4bfae37b494ea0a2599cc4596bccdf0"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaf4bfae37b494ea0a2599cc4596bccdf0">pulsar::ResultTransactionNotFound</a></div><div class="ttdeci">@ ResultTransactionNotFound</div><div class="ttdoc">Transaction ack conflict.</div><div class="ttdef"><b>Definition</b> Result.h:89</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbaf8a459f352105f7e853e02ca2af193b0"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbaf8a459f352105f7e853e02ca2af193b0">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:66</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbafcb0b43f04e494ba3784f6c259b5137f"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbafcb0b43f04e494ba3784f6c259b5137f">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:64</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbbafe509853528453adc4ca304ea9b1d79e"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbbafe509853528453adc4ca304ea9b1d79e">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:80</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_schema_8h_source.html b/static/api/cpp/3.3.x/_schema_8h_source.html
new file mode 100644
index 00000000000..546a8a88cbf
--- /dev/null
+++ b/static/api/cpp/3.3.x/_schema_8h_source.html
@@ -0,0 +1,211 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">Schema.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;iosfwd&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;map&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;string&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">   33</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">KeyValueEncodingType</a></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">   38</span>    <a class="code hl_enumvalue" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595a561af55a6a824ae74125a6cf4eade06a">SEPARATED</a>,</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>    <a class="code hl_enumvalue" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595acfbac07c6ae3e73f0e10ca60ad916bef">INLINE</a></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> </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *strEncodingType(<a class="code hl_enumeration" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">pulsar::KeyValueEncodingType</a> encodingType);</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 <a class="code hl_enumeration" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">KeyValueEncodingType</a> enumEncodingType(std::string encodingTypeStr);</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"><a class="line" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">   51</a></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">SchemaType</a></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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305af9377cb56d5b6973392d0fd2ca76009a">   56</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305af9377cb56d5b6973392d0fd2ca76009a">NONE</a> = 0,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ab936a9dad2cbb5fca28fc477ff39fb70">   61</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ab936a9dad2cbb5fca28fc477ff39fb70">STRING</a> = 1,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a15f7910601e8d522f151f3129c753283">   66</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a15f7910601e8d522f151f3129c753283">JSON</a> = 2,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a5054f171f6c60b73043727ddc60698a0">   71</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a5054f171f6c60b73043727ddc60698a0">PROTOBUF</a> = 3,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ac728ff4cb4de807c1b6fa8ca33f41d47">   76</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ac728ff4cb4de807c1b6fa8ca33f41d47">AVRO</a> = 4,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a2c52dde965d6ba972179fa14116160e9">   81</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a2c52dde965d6ba972179fa14116160e9">INT8</a> = 6,</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a9e5ed020cb2ca197a0918946352cf96e">   86</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a9e5ed020cb2ca197a0918946352cf96e">INT16</a> = 7,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ac048e1576ab161018f9e3c6eda6307d0">   91</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ac048e1576ab161018f9e3c6eda6307d0">INT32</a> = 8,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a11fafed4115309cf1f33eac044e704a2">   96</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a11fafed4115309cf1f33eac044e704a2">INT64</a> = 9,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a5102395892b9d15d0a0483a27ca64777">  101</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a5102395892b9d15d0a0483a27ca64777">FLOAT</a> = 10,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a1b1684230ae9c15941cb3fe05bf972f0">  106</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a1b1684230ae9c15941cb3fe05bf972f0">DOUBLE</a> = 11,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ab6fbe0f5b80de2aa67b68572e7a054d3">  111</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ab6fbe0f5b80de2aa67b68572e7a054d3">KEY_VALUE</a> = 15,</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="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a24048f6ae2e1048989e69644edcdc8f6">  116</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a24048f6ae2e1048989e69644edcdc8f6">PROTOBUF_NATIVE</a> = 20,</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a4dcbdcae67c5f78b7c4fff2c2135cba2">  121</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a4dcbdcae67c5f78b7c4fff2c2135cba2">BYTES</a> = -1,</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a6a9078e01119bddf19aa24dc05390f99">  126</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a6a9078e01119bddf19aa24dc05390f99">AUTO_CONSUME</a> = -3,</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ad1af93d272614c940d322497eb8e31f0">  131</a></span>    <a class="code hl_enumvalue" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ad1af93d272614c940d322497eb8e31f0">AUTO_PUBLISH</a> = -4,</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>};</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="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *strSchemaType(<a class="code hl_enumeration" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">SchemaType</a> schemaType);</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span> </div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>PULSAR_PUBLIC <a class="code hl_enumeration" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">SchemaType</a> enumSchemaType(std::string schemaTypeStr);</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">class </span>SchemaInfoImpl;</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><span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; StringMap;</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_schema_info.html">  146</a></span><span class="keyword">class </span>PULSAR_PUBLIC <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> {</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">  158</a></span>    <a class="code hl_function" href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">SchemaInfo</a>();</div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#ab0e388e0cc81a21da3917156053e16d2">  166</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#abab5b1f233c9cc54c10d28cb5b973305">SchemaType</a> schemaType, <span class="keyword">const</span> std::string &amp;name, <span class="ke [...]
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>               <span class="keyword">const</span> StringMap &amp;properties = StringMap());</div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#abb5fa2e2c1dfe4bdd002a90359bab732">  174</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_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> &amp;keySchema, <span class="keyword">const</span> <a class="code hl_class" hr [...]
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>               <span class="keyword">const</span> <a class="code hl_enumeration" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">KeyValueEncodingType</a> &amp;keyValueEncodingType = KeyValueEncodingType::INLINE);</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span> </div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#a6ff46ec7c53346fb9249edd1e34d6e62">  180</a></span>    <a class="code hl_enumeration" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">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="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#ae253cd885dfbc4a9e70d1374ded43c38">  185</a></span>    <span class="keyword">const</span> std::string &amp;<a class="code hl_function" href="classpulsar_1_1_schema_info.html#ae253cd885dfbc4a9e70d1374ded43c38">getName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classpulsar_1_1_schema_info.html#ad75d2496d13da8dc13f738606f7c72ec">  190</a></span>    <span class="keyword">const</span> std::string &amp;<a class="code hl_function" href="classpulsar_1_1_schema_info.html#ad75d2496d13da8dc13f738606f7c72ec">getSchema</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="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_schema_info.html#a5365dc263da01261bb92c95e27ffa0d6">  195</a></span>    <span class="keyword">const</span> StringMap &amp;<a class="code hl_function" href="classpulsar_1_1_schema_info.html#a5365dc263da01261bb92c95e27ffa0d6">getProperties</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span> </div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;SchemaInfoImpl&gt; SchemaInfoImplPtr;</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>    SchemaInfoImplPtr impl_;</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>};</div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span> </div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>PULSAR_PUBLIC std::ostream &amp;operator&lt;&lt;(std::ostream &amp;s, <a class="code hl_enumeration" href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">pulsar::SchemaType</a> schemaType);</div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>PULSAR_PUBLIC std::ostream &amp;operator&lt;&lt;(std::ostream &amp;s, <a class="code hl_enumeration" href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">pulsar::KeyValueEncodingType</a> encodingType);</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:146</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_a5365dc263da01261bb92c95e27ffa0d6"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#a5365dc263da01261bb92c95e27ffa0d6">pulsar::SchemaInfo::getProperties</a></div><div class="ttdeci">const StringMap &amp; getProperties() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_a6ff46ec7c53346fb9249edd1e34d6e62"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#a6ff46ec7c53346fb9249edd1e34d6e62">pulsar::SchemaInfo::getSchemaType</a></div><div class="ttdeci">SchemaType getSchemaType() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_a92a6aa4d6f21ce8511e680b86ed0de93"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#a92a6aa4d6f21ce8511e680b86ed0de93">pulsar::SchemaInfo::SchemaInfo</a></div><div class="ttdeci">SchemaInfo()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_ab0e388e0cc81a21da3917156053e16d2"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#ab0e388e0cc81a21da3917156053e16d2">pulsar::SchemaInfo::SchemaInfo</a></div><div class="ttdeci">SchemaInfo(SchemaType schemaType, const std::string &amp;name, const std::string &amp;schema, const StringMap &amp;properties=StringMap())</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_abb5fa2e2c1dfe4bdd002a90359bab732"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#abb5fa2e2c1dfe4bdd002a90359bab732">pulsar::SchemaInfo::SchemaInfo</a></div><div class="ttdeci">SchemaInfo(const SchemaInfo &amp;keySchema, const SchemaInfo &amp;valueSchema, const KeyValueEncodingType &amp;keyValueEncodingType=KeyValueEncodingType::INLINE)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_ad75d2496d13da8dc13f738606f7c72ec"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#ad75d2496d13da8dc13f738606f7c72ec">pulsar::SchemaInfo::getSchema</a></div><div class="ttdeci">const std::string &amp; getSchema() const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_schema_info_html_ae253cd885dfbc4a9e70d1374ded43c38"><div class="ttname"><a href="classpulsar_1_1_schema_info.html#ae253cd885dfbc4a9e70d1374ded43c38">pulsar::SchemaInfo::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="anamespacepulsar_html_a0dca31b62c0207ea87e146cde0609595"><div class="ttname"><a href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595">pulsar::KeyValueEncodingType</a></div><div class="ttdeci">KeyValueEncodingType</div><div class="ttdef"><b>Definition</b> Schema.h:34</div></div>
+<div class="ttc" id="anamespacepulsar_html_a0dca31b62c0207ea87e146cde0609595a561af55a6a824ae74125a6cf4eade06a"><div class="ttname"><a href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595a561af55a6a824ae74125a6cf4eade06a">pulsar::KeyValueEncodingType::SEPARATED</a></div><div class="ttdeci">@ SEPARATED</div></div>
+<div class="ttc" id="anamespacepulsar_html_a0dca31b62c0207ea87e146cde0609595acfbac07c6ae3e73f0e10ca60ad916bef"><div class="ttname"><a href="namespacepulsar.html#a0dca31b62c0207ea87e146cde0609595acfbac07c6ae3e73f0e10ca60ad916bef">pulsar::KeyValueEncodingType::INLINE</a></div><div class="ttdeci">@ INLINE</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305">pulsar::SchemaType</a></div><div class="ttdeci">SchemaType</div><div class="ttdef"><b>Definition</b> Schema.h:52</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a11fafed4115309cf1f33eac044e704a2"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a11fafed4115309cf1f33eac044e704a2">pulsar::INT64</a></div><div class="ttdeci">@ INT64</div><div class="ttdef"><b>Definition</b> Schema.h:96</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a15f7910601e8d522f151f3129c753283"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a15f7910601e8d522f151f3129c753283">pulsar::JSON</a></div><div class="ttdeci">@ JSON</div><div class="ttdef"><b>Definition</b> Schema.h:66</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a1b1684230ae9c15941cb3fe05bf972f0"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a1b1684230ae9c15941cb3fe05bf972f0">pulsar::DOUBLE</a></div><div class="ttdeci">@ DOUBLE</div><div class="ttdef"><b>Definition</b> Schema.h:106</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a24048f6ae2e1048989e69644edcdc8f6"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a24048f6ae2e1048989e69644edcdc8f6">pulsar::PROTOBUF_NATIVE</a></div><div class="ttdeci">@ PROTOBUF_NATIVE</div><div class="ttdef"><b>Definition</b> Schema.h:116</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a2c52dde965d6ba972179fa14116160e9"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a2c52dde965d6ba972179fa14116160e9">pulsar::INT8</a></div><div class="ttdeci">@ INT8</div><div class="ttdef"><b>Definition</b> Schema.h:81</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a4dcbdcae67c5f78b7c4fff2c2135cba2"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a4dcbdcae67c5f78b7c4fff2c2135cba2">pulsar::BYTES</a></div><div class="ttdeci">@ BYTES</div><div class="ttdef"><b>Definition</b> Schema.h:121</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a5054f171f6c60b73043727ddc60698a0"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a5054f171f6c60b73043727ddc60698a0">pulsar::PROTOBUF</a></div><div class="ttdeci">@ PROTOBUF</div><div class="ttdef"><b>Definition</b> Schema.h:71</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a5102395892b9d15d0a0483a27ca64777"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a5102395892b9d15d0a0483a27ca64777">pulsar::FLOAT</a></div><div class="ttdeci">@ FLOAT</div><div class="ttdef"><b>Definition</b> Schema.h:101</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a6a9078e01119bddf19aa24dc05390f99"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a6a9078e01119bddf19aa24dc05390f99">pulsar::AUTO_CONSUME</a></div><div class="ttdeci">@ AUTO_CONSUME</div><div class="ttdef"><b>Definition</b> Schema.h:126</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305a9e5ed020cb2ca197a0918946352cf96e"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305a9e5ed020cb2ca197a0918946352cf96e">pulsar::INT16</a></div><div class="ttdeci">@ INT16</div><div class="ttdef"><b>Definition</b> Schema.h:86</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305ab6fbe0f5b80de2aa67b68572e7a054d3"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ab6fbe0f5b80de2aa67b68572e7a054d3">pulsar::KEY_VALUE</a></div><div class="ttdeci">@ KEY_VALUE</div><div class="ttdef"><b>Definition</b> Schema.h:111</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305ab936a9dad2cbb5fca28fc477ff39fb70"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ab936a9dad2cbb5fca28fc477ff39fb70">pulsar::STRING</a></div><div class="ttdeci">@ STRING</div><div class="ttdef"><b>Definition</b> Schema.h:61</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305ac048e1576ab161018f9e3c6eda6307d0"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ac048e1576ab161018f9e3c6eda6307d0">pulsar::INT32</a></div><div class="ttdeci">@ INT32</div><div class="ttdef"><b>Definition</b> Schema.h:91</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305ac728ff4cb4de807c1b6fa8ca33f41d47"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ac728ff4cb4de807c1b6fa8ca33f41d47">pulsar::AVRO</a></div><div class="ttdeci">@ AVRO</div><div class="ttdef"><b>Definition</b> Schema.h:76</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305ad1af93d272614c940d322497eb8e31f0"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305ad1af93d272614c940d322497eb8e31f0">pulsar::AUTO_PUBLISH</a></div><div class="ttdeci">@ AUTO_PUBLISH</div><div class="ttdef"><b>Definition</b> Schema.h:131</div></div>
+<div class="ttc" id="anamespacepulsar_html_abab5b1f233c9cc54c10d28cb5b973305af9377cb56d5b6973392d0fd2ca76009a"><div class="ttname"><a href="namespacepulsar.html#abab5b1f233c9cc54c10d28cb5b973305af9377cb56d5b6973392d0fd2ca76009a">pulsar::NONE</a></div><div class="ttdeci">@ NONE</div><div class="ttdef"><b>Definition</b> Schema.h:56</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_table_view_8h_source.html b/static/api/cpp/3.3.x/_table_view_8h_source.html
new file mode 100644
index 00000000000..9b4e0605151
--- /dev/null
+++ b/static/api/cpp/3.3.x/_table_view_8h_source.html
@@ -0,0 +1,150 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">TableView.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef TABEL_VIEW_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define TABEL_VIEW_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/TableViewConfiguration.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">class </span>TableViewImpl;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> std::function&lt;void(<a class="code hl_enumeration" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> result)&gt; <a class="code hl_typedef" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a>;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> std::function&lt;void(<span class="keyword">const</span> std::string&amp; key, <span class="keyword">const</span> std::string&amp; value)&gt; TableViewAction;</div>
+<div class="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_class" href="classpulsar_1_1_table_view.html">TableView</a> {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>   <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">   43</a></span>    <a class="code hl_function" href="classpulsar_1_1_table_view.html#ae43275f26ff0ec494a75c11210ec6139">TableView</a>();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a7184812e0d4bf374a23ba7c99d53f18e">   69</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a7184812e0d4bf374a23ba7c99d53f18e">retrieveValue</a>(<span class="keyword">const</span> std::string&amp; key, std::string&amp; value);</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span> </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a8bc874dc48a7381726e48145a8037879">   78</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a8bc874dc48a7381726e48145a8037879">getValue</a>(<span class="keyword">const</span> std::string&amp; key, std::string&amp; value) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span> </div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a212c8a8897249b47c1cd6f44e04d452b">   85</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a212c8a8897249b47c1cd6f44e04d452b">containsKey</a>(<span class="keyword">const</span> std::string&amp; key) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span> </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#a5169558ea5a27b29dd5bcf040fa97543">   90</a></span>    std::unordered_map&lt;std::string, std::string&gt; <a class="code hl_function" href="classpulsar_1_1_table_view.html#a5169558ea5a27b29dd5bcf040fa97543">snapshot</a>();</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#afdb10373c073e4b0722606a0f9b4174e">   95</a></span>    std::size_t <a class="code hl_function" href="classpulsar_1_1_table_view.html#afdb10373c073e4b0722606a0f9b4174e">size</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno">   96</span> </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classpulsar_1_1_table_view.html#aba35c4ed47372e0d23973c8619ac90a1">  101</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#aba35c4ed47372e0d23973c8619ac90a1">forEach</a>(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#a9ea567d48f8df3cdec48d7891d66f6dd">  107</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a9ea567d48f8df3cdec48d7891d66f6dd">forEachAndListen</a>(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#a828d9b3efa7ba6b6a18e97e669e3945e">  112</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a828d9b3efa7ba6b6a18e97e669e3945e">closeAsync</a>(<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#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> <a class="code hl_function" href="classpulsar_1_1_table_view.html#a5f913f66c65c819a0b151daf08d43440">close</a>();</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>    <span class="keyword">typedef</span> std::shared_ptr&lt;TableViewImpl&gt; TableViewImplPtr;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>    TableViewImplPtr impl_;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    <span class="keyword">explicit</span> <a class="code hl_class" href="classpulsar_1_1_table_view.html">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 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"><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="aclasspulsar_1_1_table_view_html_a212c8a8897249b47c1cd6f44e04d452b"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a212c8a8897249b47c1cd6f44e04d452b">pulsar::TableView::containsKey</a></div><div class="ttdeci">bool containsKey(const std::string &amp;key) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a5169558ea5a27b29dd5bcf040fa97543"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a5169558ea5a27b29dd5bcf040fa97543">pulsar::TableView::snapshot</a></div><div class="ttdeci">std::unordered_map&lt; std::string, std::string &gt; snapshot()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a5f913f66c65c819a0b151daf08d43440"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a5f913f66c65c819a0b151daf08d43440">pulsar::TableView::close</a></div><div class="ttdeci">Result close()</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a7184812e0d4bf374a23ba7c99d53f18e"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a7184812e0d4bf374a23ba7c99d53f18e">pulsar::TableView::retrieveValue</a></div><div class="ttdeci">bool retrieveValue(const std::string &amp;key, std::string &amp;value)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a828d9b3efa7ba6b6a18e97e669e3945e"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a828d9b3efa7ba6b6a18e97e669e3945e">pulsar::TableView::closeAsync</a></div><div class="ttdeci">void closeAsync(ResultCallback callback)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a8bc874dc48a7381726e48145a8037879"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a8bc874dc48a7381726e48145a8037879">pulsar::TableView::getValue</a></div><div class="ttdeci">bool getValue(const std::string &amp;key, std::string &amp;value) const</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_a9ea567d48f8df3cdec48d7891d66f6dd"><div class="ttname"><a href="classpulsar_1_1_table_view.html#a9ea567d48f8df3cdec48d7891d66f6dd">pulsar::TableView::forEachAndListen</a></div><div class="ttdeci">void forEachAndListen(TableViewAction action)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_table_view_html_aba35c4ed47372e0d23973c8619ac90a1"><div class="ttname"><a href="classpulsar_1_1_table_view.html#aba35c4ed47372e0d23973c8619ac90a1">pulsar::TableView::forEach</a></div><div class="ttdeci">void forEach(TableViewAction action)</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_ae5bf6401bfa8e3962e5c8f9fa2efbf4d"><div class="ttname"><a href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">pulsar::ResultCallback</a></div><div class="ttdeci">std::function&lt; void(Result result)&gt; ResultCallback</div><div class="ttdoc">Callback definition for non-data operation.</div><div class="ttdef"><b>Definition</b> ConsumerConfiguration.h:50</div></div>
+<div class="ttc" id="anamespacepulsar_html_ae85314d6b9e8afd831cf8c66705f2dbb"><div class="ttname"><a href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">pulsar::Result</a></div><div class="ttdeci">Result</div><div class="ttdef"><b>Definition</b> Result.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_table_view_configuration_8h_source.html b/static/api/cpp/3.3.x/_table_view_configuration_8h_source.html
new file mode 100644
index 00000000000..febed0a6846
--- /dev/null
+++ b/static/api/cpp/3.3.x/_table_view_configuration_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">TableViewConfiguration.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef PULSAR_TABLEVIEW_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define PULSAR_TABLEVIEW_CONFIGURATION_H_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="structpulsar_1_1_table_view_configuration.html">   27</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> {</div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>    <span class="comment">// Declare the schema of the data that this table view will be accepting.</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span>    <span class="comment">// The schema will be checked against the schema of the topic, and the</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span>    <span class="comment">// table view creation will fail if it&#39;s not compatible.</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    <a class="code hl_class" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> schemaInfo;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    <span class="comment">// The name of the subscription to the topic. Default value is reader-{random string}.</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    std::string subscriptionName;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>};</div>
+<div 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:146</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+<div class="ttc" id="astructpulsar_1_1_table_view_configuration_html"><div class="ttname"><a href="structpulsar_1_1_table_view_configuration.html">pulsar::TableViewConfiguration</a></div><div class="ttdef"><b>Definition</b> TableViewConfiguration.h:27</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_topic_metadata_8h_source.html b/static/api/cpp/3.3.x/_topic_metadata_8h_source.html
new file mode 100644
index 00000000000..17b43aa5aaf
--- /dev/null
+++ b/static/api/cpp/3.3.x/_topic_metadata_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">TopicMetadata.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#ifndef TOPIC_METADATA_HPP_</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#define TOPIC_METADATA_HPP_</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="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 class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span> </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#endif </span><span class="comment">/* TOPIC_METADATA_HPP_ */</span><span class="preprocessor"></span></div>
+<div class="ttc" id="aclasspulsar_1_1_topic_metadata_html"><div class="ttname"><a href="classpulsar_1_1_topic_metadata.html">pulsar::TopicMetadata</a></div><div class="ttdef"><b>Definition</b> TopicMetadata.h:28</div></div>
+<div class="ttc" id="aclasspulsar_1_1_topic_metadata_html_a427a1228dd01108f5748ce92516bf5b1"><div class="ttname"><a href="classpulsar_1_1_topic_metadata.html#a427a1228dd01108f5748ce92516bf5b1">pulsar::TopicMetadata::getNumPartitions</a></div><div class="ttdeci">virtual int getNumPartitions() const =0</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_typed_message_8h_source.html b/static/api/cpp/3.3.x/_typed_message_8h_source.html
new file mode 100644
index 00000000000..e6e65034e35
--- /dev/null
+++ b/static/api/cpp/3.3.x/_typed_message_8h_source.html
@@ -0,0 +1,123 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">TypedMessage.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/Message.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="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><a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</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">using </span>Decoder = std::function&lt;T(<span class="keyword">const</span> <span class="keywordtype">char</span>*, std::size_t)&gt;;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage</a>() = <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>    <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage</a>(</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>        <span class="keyword">const</span> <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>&amp; message, Decoder decoder = [](<span class="keyword">const</span> <span class="keywordtype">char</span>*, std::size_t) { <span class="keywordflow">return</span> T{}; })</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>        : <a class="code hl_class" href="classpulsar_1_1_message.html">Message</a>(message), decoder_(decoder) {}</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    T getValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> decoder_(<span class="keyword">static_cast&lt;</span><span class="keyword">const </span><span class="keywordtype">char</span>*<span class="keyword">&gt;</span>(<a class="code hl_function" href="classpulsar_1_1_message.html#ab485e3ff7dbefa8c0523ebaabef55d5d">getData</a>()), <a class="code hl_function" href="classp [...]
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    <a class="code hl_class" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&amp; setDecoder(Decoder decoder) {</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>        decoder_ = decoder;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    }</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    Decoder decoder_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>};</div>
+<div 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"><div class="ttname"><a href="classpulsar_1_1_message.html">pulsar::Message</a></div><div class="ttdef"><b>Definition</b> Message.h:44</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_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_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><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/_typed_message_builder_8h_source.html b/static/api/cpp/3.3.x/_typed_message_builder_8h_source.html
new file mode 100644
index 00000000000..614acf1d7f3
--- /dev/null
+++ b/static/api/cpp/3.3.x/_typed_message_builder_8h_source.html
@@ -0,0 +1,153 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">TypedMessageBuilder.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/MessageBuilder.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;functional&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
+<div class="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><a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a> : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</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">using </span>Encoder = std::function&lt;std::string(<span class="keyword">const</span> T&amp;)&gt;;</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    <span class="keyword">using </span>Validator = std::function&lt;void(<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">size_t</span>)&gt;;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>    <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a>(</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>    <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a>&amp; setValue(<span class="keyword">const</span> T&amp; value) {</div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>        <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(encoder_(value));</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>        <span class="keywordflow">if</span> (validator_) {</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>            validator_(data(), size());</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>        }</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    }</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    <span class="keyword">const</span> Encoder encoder_;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    <span class="keyword">const</span> Validator validator_;</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>};</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="keyword">template</span> &lt;&gt;</div>
+<div class="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><a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a>&lt;std::string&gt; : <span class="keyword">public</span> <a class="code hl_class" href="classpulsar_1_1_message_builder.html">MessageBuilder</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="comment">// The validator should throw an exception to indicate the message is corrupted.</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>    <span class="keyword">using </span>Validator = std::function&lt;void(<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">size_t</span>)&gt;;</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>    <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a>(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>    <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a>&amp; setValue(<span class="keyword">const</span> std::string&amp; value) {</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>        <span class="keywordflow">if</span> (validator_) {</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>            validator_(value.data(), value.size());</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>        }</div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span>        <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(value);</div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span>    }</div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span> </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>    <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder</a>&amp; setValue(std::string&amp;&amp; value) {</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>        <span class="keywordflow">if</span> (validator_) {</div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>            validator_(value.data(), value.size());</div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>        }</div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>        <a class="code hl_function" href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">setContent</a>(std::move(value));</div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    }</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>   <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>    Validator validator_;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>};</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span><span class="keyword">using </span><a class="code hl_class" href="classpulsar_1_1_typed_message_builder_3_01std_1_1string_01_4.html">BytesMessageBuilder</a> = <a class="code hl_class" href="classpulsar_1_1_typed_message_builder.html">TypedMessageBuilder&lt;std::string&gt;</a>;</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>}  <span class="comment">// namespace pulsar</span></div>
+<div class="ttc" id="aclasspulsar_1_1_message_builder_html"><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_builder_html_a2cc0fde4d3dcc2aae68e6e1588c8d364"><div class="ttname"><a href="classpulsar_1_1_message_builder.html#a2cc0fde4d3dcc2aae68e6e1588c8d364">pulsar::MessageBuilder::setContent</a></div><div class="ttdeci">MessageBuilder &amp; setContent(const void *data, size_t size)</div></div>
+<div class="ttc" id="aclasspulsar_1_1_typed_message_builder_3_01std_1_1string_01_4_html"><div class="ttname"><a href="classpulsar_1_1_typed_message_builder_3_01std_1_1string_01_4.html">pulsar::TypedMessageBuilder&lt; std::string &gt;</a></div><div class="ttdef"><b>Definition</b> TypedMessageBuilder.h:51</div></div>
+<div class="ttc" id="aclasspulsar_1_1_typed_message_builder_html"><div class="ttname"><a href="classpulsar_1_1_typed_message_builder.html">pulsar::TypedMessageBuilder</a></div><div class="ttdef"><b>Definition</b> TypedMessageBuilder.h:28</div></div>
+<div class="ttc" id="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition</b> Authentication.h:31</div></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/annotated.html b/static/api/cpp/3.3.x/annotated.html
new file mode 100644
index 00000000000..2d18cba5fb4
--- /dev/null
+++ b/static/api/cpp/3.3.x/annotated.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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- 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:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacepulsar.html" target="_self">pulsar</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_athenz.html" target="_self">AuthAthenz</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_basic.html" target="_self">AuthBasic</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_authentication.html" target="_self">Authentication</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_authentication_data_provider.html" target="_self">AuthenticationDataProvider</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_factory.html" target="_self">AuthFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_oauth2.html" target="_self">AuthOauth2</a></td><td class="desc"></td></tr>
+<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_tls.html" target="_self">AuthTls</a></td><td class="desc"></td></tr>
+<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_auth_token.html" target="_self">AuthToken</a></td><td class="desc"></td></tr>
+<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_batch_receive_policy.html" target="_self">BatchReceivePolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_broker_consumer_stats.html" target="_self">BrokerConsumerStats</a></td><td class="desc"></td></tr>
+<tr id="row_0_10_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_cached_token.html" target="_self">CachedToken</a></td><td class="desc"></td></tr>
+<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_client.html" target="_self">Client</a></td><td class="desc"></td></tr>
+<tr id="row_0_12_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_client_configuration.html" target="_self">ClientConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_console_logger_factory.html" target="_self">ConsoleLoggerFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_14_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer.html" target="_self">Consumer</a></td><td class="desc"></td></tr>
+<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer_configuration.html" target="_self">ConsumerConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_16_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer_event_listener.html" target="_self">ConsumerEventListener</a></td><td class="desc"></td></tr>
+<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_consumer_interceptor.html" target="_self">ConsumerInterceptor</a></td><td class="desc"></td></tr>
+<tr id="row_0_18_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_crypto_key_reader.html" target="_self">CryptoKeyReader</a></td><td class="desc"></td></tr>
+<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_dead_letter_policy.html" target="_self">DeadLetterPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_20_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_dead_letter_policy_builder.html" target="_self">DeadLetterPolicyBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_default_crypto_key_reader.html" target="_self">DefaultCryptoKeyReader</a></td><td class="desc"></td></tr>
+<tr id="row_0_22_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_deprecated_exception.html" target="_self">DeprecatedException</a></td><td class="desc"></td></tr>
+<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_encryption_key_info.html" target="_self">EncryptionKeyInfo</a></td><td class="desc"></td></tr>
+<tr id="row_0_24_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_file_logger_factory.html" target="_self">FileLoggerFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_key_shared_policy.html" target="_self">KeySharedPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_26_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_key_value.html" target="_self">KeyValue</a></td><td class="desc"></td></tr>
+<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_logger.html" target="_self">Logger</a></td><td class="desc"></td></tr>
+<tr id="row_0_28_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_logger_factory.html" target="_self">LoggerFactory</a></td><td class="desc"></td></tr>
+<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message.html" target="_self">Message</a></td><td class="desc"></td></tr>
+<tr id="row_0_30_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_batch.html" target="_self">MessageBatch</a></td><td class="desc"></td></tr>
+<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_builder.html" target="_self">MessageBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_32_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_id.html" target="_self">MessageId</a></td><td class="desc"></td></tr>
+<tr id="row_0_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_id_builder.html" target="_self">MessageIdBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_34_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_message_routing_policy.html" target="_self">MessageRoutingPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_0_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_oauth2_flow.html" target="_self">Oauth2Flow</a></td><td class="desc"></td></tr>
+<tr id="row_0_36_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_oauth2_token_result.html" target="_self">Oauth2TokenResult</a></td><td class="desc"></td></tr>
+<tr id="row_0_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_producer.html" target="_self">Producer</a></td><td class="desc"></td></tr>
+<tr id="row_0_38_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_producer_configuration.html" target="_self">ProducerConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_39_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_producer_interceptor.html" target="_self">ProducerInterceptor</a></td><td class="desc"></td></tr>
+<tr id="row_0_40_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_reader.html" target="_self">Reader</a></td><td class="desc"></td></tr>
+<tr id="row_0_41_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_reader_configuration.html" target="_self">ReaderConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_42_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_schema_info.html" target="_self">SchemaInfo</a></td><td class="desc"></td></tr>
+<tr id="row_0_43_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_table_view.html" target="_self">TableView</a></td><td class="desc"></td></tr>
+<tr id="row_0_44_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar_1_1_table_view_configuration.html" target="_self">TableViewConfiguration</a></td><td class="desc"></td></tr>
+<tr id="row_0_45_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_topic_metadata.html" target="_self">TopicMetadata</a></td><td class="desc"></td></tr>
+<tr id="row_0_46_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_typed_message.html" target="_self">TypedMessage</a></td><td class="desc"></td></tr>
+<tr id="row_0_47_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_typed_message_builder.html" target="_self">TypedMessageBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_0_48_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpulsar_1_1_typed_message_builder_3_01std_1_1string_01_4.html" target="_self">TypedMessageBuilder&lt; std::string &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar__consumer__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="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar__consumer__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="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpulsar__logger__t.html" target="_self">pulsar_logger_t</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/bc_s.png b/static/api/cpp/3.3.x/bc_s.png
new file mode 100644
index 00000000000..224b29aa984
Binary files /dev/null and b/static/api/cpp/3.3.x/bc_s.png differ
diff --git a/static/api/cpp/3.3.x/bc_sd.png b/static/api/cpp/3.3.x/bc_sd.png
new file mode 100644
index 00000000000..31ca888dc71
Binary files /dev/null and b/static/api/cpp/3.3.x/bc_sd.png differ
diff --git a/static/api/cpp/3.3.x/c_2_authentication_8h_source.html b/static/api/cpp/3.3.x/c_2_authentication_8h_source.html
new file mode 100644
index 00000000000..bbd2e6a63ff
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_authentication_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_authentication pulsar_authentication_t;</div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="keyword">typedef</span> <span class="keywordtype">char</span> *(*token_supplier)(<span class="keywordtype">void</span> *);</div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *dynamicLibPath,</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>                                                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *authParamsString);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_tls_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *certificatePath,</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>                                                                        <span class="keyword">const</span> <span class="keywordtype">char</span> *privateKeyPath);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_token_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *token);</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_token_create_with_supplier(</div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>    token_supplier tokenSupplier, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_basic_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *username,</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>                                                                          <span class="keyword">const</span> <span class="keywordtype">char</span> *password);</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_athenz_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *authParamsString);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_oauth2_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *authParamsString);</div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_authentication_free(pulsar_authentication_t *authentication);</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span>}</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/c_2_client_8h_source.html b/static/api/cpp/3.3.x/c_2_client_8h_source.html
new file mode 100644
index 00000000000..a868bf228ba
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_client_8h_source.html
@@ -0,0 +1,201 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/c/client_configuration.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/c/consumer.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &lt;pulsar/c/consumer_configuration.h&gt;</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/c/message_id.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/c/producer.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/c/producer_configuration.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/c/reader.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;pulsar/c/reader_configuration.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#include &lt;pulsar/c/string_list.h&gt;</span></div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include &lt;pulsar/c/table_view.h&gt;</span></div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="preprocessor">#include &lt;pulsar/c/table_view_configuration.h&gt;</span></div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span> </div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_client pulsar_client_t;</div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_producer pulsar_producer_t;</div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_string_list pulsar_string_list_t;</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_client_configuration pulsar_client_configuration_t;</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_producer_configuration pulsar_producer_configuration_t;</div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="keyword">typedef</span> void (*pulsar_create_producer_callback)(pulsar_result result, pulsar_producer_t *producer, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="keyword">typedef</span> void (*pulsar_subscribe_callback)(pulsar_result result, pulsar_consumer_t *consumer, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span><span class="keyword">typedef</span> void (*pulsar_reader_callback)(pulsar_result result, pulsar_reader_t *reader, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="keyword">typedef</span> void (*pulsar_table_view_callback)(pulsar_result result, pulsar_table_view_t *tableView, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="keyword">typedef</span> void (*pulsar_get_partitions_callback)(pulsar_result result, pulsar_string_list_t *partitions,</div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="keyword">typedef</span> void (*pulsar_close_callback)(pulsar_result result, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>PULSAR_PUBLIC pulsar_client_t *pulsar_client_create(<span class="keyword">const</span> <span class="keywordtype">char</span> *serviceUrl,</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>                                                    <span class="keyword">const</span> pulsar_client_configuration_t *clientConfiguration);</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span> </div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span>PULSAR_PUBLIC pulsar_result pulsar_client_create_producer(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>                                                          <span class="keyword">const</span> pulsar_producer_configuration_t *conf,</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>                                                          pulsar_producer_t **producer);</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_create_producer_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>                                                       <span class="keyword">const</span> pulsar_producer_configuration_t *conf,</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>                                                       pulsar_create_producer_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>PULSAR_PUBLIC pulsar_result pulsar_client_subscribe(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>                                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>                                                    <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>                                                    pulsar_consumer_t **consumer);</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_subscribe_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span>                                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>                                                 <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>                                                 pulsar_subscribe_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>PULSAR_PUBLIC pulsar_result pulsar_client_subscribe_multi_topics(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> **topics,</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>                                                                 <span class="keywordtype">int</span> topicsCount,</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>                                                                 <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>                                                                 <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>                                                                 pulsar_consumer_t **consumer);</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_subscribe_multi_topics_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> **topics,</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>                                                              <span class="keywordtype">int</span> topicsCount, <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>                                                              <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>                                                              pulsar_subscribe_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>PULSAR_PUBLIC pulsar_result pulsar_client_subscribe_pattern(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topicPattern,</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>                                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>                                                            <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>                                                            pulsar_consumer_t **consumer);</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_subscribe_pattern_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topicPattern,</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>                                                         <span class="keyword">const</span> <span class="keywordtype">char</span> *subscriptionName,</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>                                                         <span class="keyword">const</span> pulsar_consumer_configuration_t *conf,</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>                                                         pulsar_subscribe_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>PULSAR_PUBLIC pulsar_result pulsar_client_create_reader(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>                                                        <span class="keyword">const</span> pulsar_message_id_t *startMessageId,</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>                                                        pulsar_reader_configuration_t *conf,</div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>                                                        pulsar_reader_t **reader);</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_create_reader_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>                                                     <span class="keyword">const</span> pulsar_message_id_t *startMessageId,</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>                                                     pulsar_reader_configuration_t *conf,</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>                                                     pulsar_reader_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>PULSAR_PUBLIC pulsar_result pulsar_client_create_table_view(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>                                                            pulsar_table_view_configuration_t *conf,</div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>                                                            pulsar_table_view_t **c_tableView);</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_create_table_view_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>                                                         pulsar_table_view_configuration_t *conf,</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>                                                         pulsar_table_view_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span> </div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>PULSAR_PUBLIC pulsar_result pulsar_client_get_topic_partitions(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>                                                               pulsar_string_list_t **partitions);</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span> </div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_get_topic_partitions_async(pulsar_client_t *client, <span class="keyword">const</span> <span class="keywordtype">char</span> *topic,</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>                                                            pulsar_get_partitions_callback callback,</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>                                                            <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span> </div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>PULSAR_PUBLIC pulsar_result pulsar_client_close(pulsar_client_t *client);</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_close_async(pulsar_client_t *client, pulsar_close_callback callback,</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>                                             <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_client_free(pulsar_client_t *client);</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span> </div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>}</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/c_2_consumer_8h_source.html b/static/api/cpp/3.3.x/c_2_consumer_8h_source.html
new file mode 100644
index 00000000000..1feef6d29b1
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_consumer_8h_source.html
@@ -0,0 +1,204 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">consumer.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span> </div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span> </div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/c/messages.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_consumer pulsar_consumer_t;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> void (*pulsar_result_callback)(pulsar_result, <span class="keywordtype">void</span> *);</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="keyword">typedef</span> void (*pulsar_receive_callback)(pulsar_result result, pulsar_message_t *msg, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="keyword">typedef</span> void (*pulsar_batch_receive_callback)(pulsar_result result, pulsar_messages_t *msgs, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_consumer_get_topic(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_consumer_get_subscription_name(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_unsubscribe(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_unsubscribe_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>                                                     pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno">   78</span> </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_receive(pulsar_consumer_t *consumer, pulsar_message_t **msg);</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span> </div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_receive_with_timeout(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>                                                                 pulsar_message_t **msg, <span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_receive_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>                                                 pulsar_receive_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_batch_receive(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>                                                          pulsar_messages_t **msgs);</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_batch_receive_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>                                                       pulsar_batch_receive_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span> </div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>                                                        pulsar_message_t *message);</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>                                                           pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_async(pulsar_consumer_t *consumer, pulsar_message_t *message,</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>                                                     pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span> </div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_async_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>                                                        pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>                                                        pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>                                                                   pulsar_message_t *message);</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span> </div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_acknowledge_cumulative_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>                                                                      pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span> </div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_cumulative_async(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>                                                                pulsar_message_t *message,</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>                                                                pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_acknowledge_cumulative_async_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>                                                                   pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>                                                                   pulsar_result_callback callback,</div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>                                                                   <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_negative_acknowledge(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>                                                        pulsar_message_t *message);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span> </div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_negative_acknowledge_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>                                                           pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span> </div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_close(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_close_async(pulsar_consumer_t *consumer, pulsar_result_callback callback,</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span> </div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_free(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span> </div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span><span class="comment"> * Pause receiving messages via the messageListener, till resumeMessageListener() is called.</span></div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_pause_message_listener(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span> </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span><span class="comment">/*</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span><span class="comment"> * Resume receiving the messages via the messageListener.</span></div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span><span class="comment"> * Asynchronously receive all the messages enqueued from time pauseMessageListener() was called.</span></div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span><span class="comment"> */</span></div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>PULSAR_PUBLIC pulsar_result resume_message_listener(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span> </div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_redeliver_unacknowledged_messages(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span> </div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_seek_async(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>                                              pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_seek(pulsar_consumer_t *consumer, pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_consumer_seek_by_timestamp_async(pulsar_consumer_t *consumer, uint64_t timestamp,</div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>                                                           pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span> </div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_seek_by_timestamp(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span>                                                              uint64_t timestamp);</div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span> </div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_consumer_is_connected(pulsar_consumer_t *consumer);</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span> </div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>PULSAR_PUBLIC pulsar_result pulsar_consumer_get_last_message_id(pulsar_consumer_t *consumer,</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>                                                                pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span> </div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>}</div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/c_2_message_8h_source.html b/static/api/cpp/3.3.x/c_2_message_8h_source.html
new file mode 100644
index 00000000000..78f4734337c
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_message_8h_source.html
@@ -0,0 +1,167 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;stddef.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span> </div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &quot;string_map.h&quot;</span></div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_message pulsar_message_t;</div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_message_id pulsar_message_id_t;</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>PULSAR_PUBLIC pulsar_message_t *pulsar_message_create();</div>
+<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_copy(<span class="keyword">const</span> pulsar_message_t *from, pulsar_message_t *to);</div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_free(pulsar_message_t *message);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span> </div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_content(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span> </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_allocated_content(pulsar_message_t *message, <span class="keywordtype">void</span> *data, <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span> </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_property(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,</div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>                                               <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span> </div>
+<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_partition_key(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *partitionKey);</div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_ordering_key(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> *orderingKey);</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span> </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_event_timestamp(pulsar_message_t *message, uint64_t eventTimestamp);</div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_sequence_id(pulsar_message_t *message, int64_t sequenceId);</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span> </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_deliver_after(pulsar_message_t *message, uint64_t delayMillis);</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_deliver_at(pulsar_message_t *message, uint64_t deliveryTimestampMillis);</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_set_replication_clusters(pulsar_message_t *message, <span class="keyword">const</span> <span class="keywordtype">char</span> **clusters,</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>                                                           <span class="keywordtype">size_t</span> size);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_message_disable_replication(pulsar_message_t *message, <span class="keywordtype">int</span> flag);</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span> </div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span> </div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>PULSAR_PUBLIC pulsar_string_map_t *pulsar_message_get_properties(pulsar_message_t *message);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</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="l00148" name="l00148"></a><span class="lineno">  148</span> </div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</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="l00156" name="l00156"></a><span class="lineno">  156</span> </div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</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="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>PULSAR_PUBLIC uint32_t pulsar_message_get_length(pulsar_message_t *message);</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span> </div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>PULSAR_PUBLIC pulsar_message_id_t *pulsar_message_get_message_id(pulsar_message_t *message);</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span> </div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</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="l00188" name="l00188"></a><span class="lineno">  188</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_partition_key(pulsar_message_t *message);</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</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="l00195" name="l00195"></a><span class="lineno">  195</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_ordering_key(pulsar_message_t *message);</div>
+<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">  201</span>PULSAR_PUBLIC uint64_t pulsar_message_get_publish_timestamp(pulsar_message_t *message);</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>PULSAR_PUBLIC uint64_t pulsar_message_get_event_timestamp(pulsar_message_t *message);</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>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="l00209" name="l00209"></a><span class="lineno">  209</span> </div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_get_redelivery_count(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="l00212" name="l00212"></a><span class="lineno">  212</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_message_has_schema_version(pulsar_message_t *message);</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</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="l00215" name="l00215"></a><span class="lineno">  215</span> </div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</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="l00217" name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>}</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/c_2_producer_8h_source.html b/static/api/cpp/3.3.x/c_2_producer_8h_source.html
new file mode 100644
index 00000000000..edbc6283a7f
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_producer_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span> </div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_producer pulsar_producer_t;</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="keyword">typedef</span> void (*pulsar_send_callback)(pulsar_result, pulsar_message_id_t *msgId, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="keyword">typedef</span> void (*pulsar_close_callback)(pulsar_result, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="keyword">typedef</span> void (*pulsar_flush_callback)(pulsar_result, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span> </div>
+<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_producer_get_topic(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span> </div>
+<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_producer_get_producer_name(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>PULSAR_PUBLIC pulsar_result pulsar_producer_send(pulsar_producer_t *producer, pulsar_message_t *msg);</div>
+<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
+<div class="line"><a id="l00079" name="l00079"></a><span class="lineno">   79</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_send_async(pulsar_producer_t *producer, pulsar_message_t *msg,</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>                                              pulsar_send_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span> </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>PULSAR_PUBLIC int64_t pulsar_producer_get_last_sequence_id(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>PULSAR_PUBLIC pulsar_result pulsar_producer_close(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span> </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_close_async(pulsar_producer_t *producer, pulsar_close_callback callback,</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="comment">// Flush all the messages buffered in the client and wait until all messages have been successfully persisted.</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>PULSAR_PUBLIC pulsar_result pulsar_producer_flush(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
+<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_flush_async(pulsar_producer_t *producer, pulsar_flush_callback callback,</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>                                               <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span> </div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_producer_free(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_producer_is_connected(pulsar_producer_t *producer);</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span> </div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>}</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/c_2_reader_8h_source.html b/static/api/cpp/3.3.x/c_2_reader_8h_source.html
new file mode 100644
index 00000000000..fb7013ac619
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_reader_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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">reader.h</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
+<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span> </div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include &lt;pulsar/c/message.h&gt;</span></div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/c/result.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span> </div>
+<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="keyword">typedef</span> <span class="keyword">struct </span>_pulsar_reader pulsar_reader_t;</div>
+<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span> </div>
+<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="keyword">typedef</span> void (*pulsar_result_callback)(pulsar_result, <span class="keywordtype">void</span> *);</div>
+<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span> </div>
+<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_reader_get_topic(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
+<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span>PULSAR_PUBLIC pulsar_result pulsar_reader_read_next(pulsar_reader_t *reader, pulsar_message_t **msg);</div>
+<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
+<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>PULSAR_PUBLIC pulsar_result pulsar_reader_read_next_with_timeout(pulsar_reader_t *reader,</div>
+<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span>                                                                 pulsar_message_t **msg, <span class="keywordtype">int</span> timeoutMs);</div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span> </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_seek_async(pulsar_reader_t *reader, pulsar_message_id_t *messageId,</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>                                            pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span> </div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>PULSAR_PUBLIC pulsar_result pulsar_reader_seek(pulsar_reader_t *reader, pulsar_message_id_t *messageId);</div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_seek_by_timestamp_async(pulsar_reader_t *reader, uint64_t timestamp,</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>                                                         pulsar_result_callback callback, <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>PULSAR_PUBLIC pulsar_result pulsar_reader_seek_by_timestamp(pulsar_reader_t *reader, uint64_t timestamp);</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span> </div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>PULSAR_PUBLIC pulsar_result pulsar_reader_close(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_close_async(pulsar_reader_t *reader, pulsar_result_callback callback,</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>                                             <span class="keywordtype">void</span> *ctx);</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>PULSAR_PUBLIC <span class="keywordtype">void</span> pulsar_reader_free(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>PULSAR_PUBLIC pulsar_result pulsar_reader_has_message_available(pulsar_reader_t *reader, <span class="keywordtype">int</span> *available);</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>PULSAR_PUBLIC <span class="keywordtype">int</span> pulsar_reader_is_connected(pulsar_reader_t *reader);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>}</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span><span class="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/c_2_result_8h_source.html b/static/api/cpp/3.3.x/c_2_result_8h_source.html
new file mode 100644
index 00000000000..a352bd9288e
--- /dev/null
+++ b/static/api/cpp/3.3.x/c_2_result_8h_source.html
@@ -0,0 +1,162 @@
+<!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.9.7"/>
+<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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_84093bac216bb6272e4432021f1ca7f4.html">pulsar</a></li><li class="navelem"><a class="el" href="dir_501ae28692a6b25a33adbd2bed71d4b9.html">c</a></li>  </ul>
+</div>
+</div><!-- top -->
+<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="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#pragma once</span></div>
+<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
+<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#include &lt;pulsar/defines.h&gt;</span></div>
+<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span> </div>
+<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#ifdef __cplusplus</span></div>
+<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
+<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#endif</span></div>
+<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span> </div>
+<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="keyword">typedef</span> <span class="keyword">enum</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>    pulsar_result_Ok,  </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_result_UnknownError,  </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>    pulsar_result_InvalidConfiguration,  </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>    pulsar_result_Timeout,       </div>
+<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>    pulsar_result_LookupError,   </div>
+<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>    pulsar_result_ConnectError,  </div>
+<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>    pulsar_result_ReadError,     </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>    pulsar_result_AuthenticationError,             </div>
+<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>    pulsar_result_AuthorizationError,              </div>
+<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span>    pulsar_result_ErrorGettingAuthenticationData,  </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_result_BrokerMetadataError,     </div>
+<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>    pulsar_result_BrokerPersistenceError,  </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>    pulsar_result_ChecksumError,           </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_result_ConsumerBusy,   </div>
+<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span>    pulsar_result_NotConnected,   </div>
+<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>    pulsar_result_AlreadyClosed,  </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>    pulsar_result_InvalidMessage,  </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>    pulsar_result_ConsumerNotInitialized,         </div>
+<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span>    pulsar_result_ProducerNotInitialized,         </div>
+<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span>    pulsar_result_ProducerBusy,                   </div>
+<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span>    pulsar_result_TooManyLookupRequestException,  </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>    pulsar_result_InvalidTopicName,  </div>
+<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span>    pulsar_result_InvalidUrl,        </div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>    pulsar_result_ServiceUnitNotReady,  </div>
+<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span>    pulsar_result_OperationNotSupported,</div>
+<div class="line"><a id="l00067" name="l00067"></a><span class="lineno">   67</span>    pulsar_result_ProducerBlockedQuotaExceededError,      </div>
+<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>    pulsar_result_ProducerBlockedQuotaExceededException,  </div>
+<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span>    pulsar_result_ProducerQueueIsFull,                    </div>
+<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>    pulsar_result_MessageTooBig,                          </div>
+<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>    pulsar_result_TopicNotFound,                          </div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>    pulsar_result_SubscriptionNotFound,                   </div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>    pulsar_result_ConsumerNotFound,                       </div>
+<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>    pulsar_result_UnsupportedVersionError,  </div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>    pulsar_result_TopicTerminated,          </div>
+<div class="line"><a id="l00077" name="l00077"></a><span class="lineno">   77</span>    pulsar_result_CryptoError,              </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>    pulsar_result_IncompatibleSchema,   </div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>    pulsar_result_ConsumerAssignError,  </div>
+<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>    pulsar_result_CumulativeAcknowledgementNotAllowedError,  </div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>    pulsar_result_TransactionCoordinatorNotFoundError,  </div>
+<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    pulsar_result_InvalidTxnStatusError,                </div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span>    pulsar_result_NotAllowedError,                      </div>
+<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span>    pulsar_result_TransactionConflict,                  </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span>    pulsar_result_TransactionNotFound,                  </div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span>    pulsar_result_ProducerFenced,                       </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span>    pulsar_result_MemoryBufferIsFull,  </div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno">   94</span>    pulsar_result_Interrupted,         </div>
+<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span>} pulsar_result;</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">   97</span><span class="comment">// Return string representation of result code</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>PULSAR_PUBLIC <span class="keyword">const</span> <span class="keywordtype">char</span> *pulsar_result_str(pulsar_result result);</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="preprocessor">#ifdef __cplusplus</span></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="preprocessor">#endif</span></div>
+</div><!-- fragment --></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/classes.html b/static/api/cpp/3.3.x/classes.html
new file mode 100644
index 00000000000..4de338d1db3
--- /dev/null
+++ b/static/api/cpp/3.3.x/classes.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.9.7"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: Class Index</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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<!-- 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 Index</div></div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|& [...]
+<div class="classindex">
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_A" name="letter_A">A</a></dt>
+<dd><a class="el" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_auth_basic.html">AuthBasic</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_authentication.html">Authentication</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_authentication_data_provider.html">AuthenticationDa [...]
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_B" name="letter_B">B</a></dt>
+<dd><a class="el" href="classpulsar_1_1_batch_receive_policy.html">BatchReceivePolicy</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt>
+<dd><a class="el" href="classpulsar_1_1_cached_token.html">CachedToken</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_client.html">Client</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_console_logger_factory.html">ConsoleLoggerFac [...]
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
+<dd><a class="el" href="classpulsar_1_1_dead_letter_policy.html">DeadLetterPolicy</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_dead_letter_policy_builder.html">DeadLetterPolicyBuilder</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_default_crypto_key_reader.html">DefaultCryptoKeyReader</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="class [...]
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_E" name="letter_E">E</a></dt>
+<dd><a class="el" href="classpulsar_1_1_encryption_key_info.html">EncryptionKeyInfo</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_F" name="letter_F">F</a></dt>
+<dd><a class="el" href="classpulsar_1_1_file_logger_factory.html">FileLoggerFactory</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_K" name="letter_K">K</a></dt>
+<dd><a class="el" href="classpulsar_1_1_key_shared_policy.html">KeySharedPolicy</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_key_value.html">KeyValue</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_L" name="letter_L">L</a></dt>
+<dd><a class="el" href="classpulsar_1_1_logger.html">Logger</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_logger_factory.html">LoggerFactory</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_M" name="letter_M">M</a></dt>
+<dd><a class="el" href="classpulsar_1_1_message.html">Message</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_message_batch.html">MessageBatch</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_message_builder.html">MessageBuilder</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> (<a class="el" href= [...]
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_O" name="letter_O">O</a></dt>
+<dd><a class="el" href="classpulsar_1_1_oauth2_flow.html">Oauth2Flow</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_oauth2_token_result.html">Oauth2TokenResult</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
+<dd><a class="el" href="classpulsar_1_1_producer.html">Producer</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_producer_interceptor.html">ProducerInterceptor</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="structpulsar__consumer__batch__receiv [...]
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
+<dd><a class="el" href="classpulsar_1_1_reader.html">Reader</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex even">
+<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
+<dd><a class="el" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd></dl>
+<dl class="classindex odd">
+<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
+<dd><a class="el" href="classpulsar_1_1_table_view.html">TableView</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_topic_metadata.html">TopicMetadata</a> (<a class="el" href="namespacepulsar.html">pulsar</a>)</dd><dd><a class="el" href="classpulsar_1_1_typed_message.html">TypedM [...]
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz-members.html b/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz-members.html
new file mode 100644
index 00000000000..606b9dea93b
--- /dev/null
+++ b/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz-members.html
@@ -0,0 +1,99 @@
+<!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.9.7"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: Member 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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="namespacepulsar.html">pulsar</a></li><li class="navelem"><a class="el" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">pulsar::AuthAthenz Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AuthAthenz</b>(AuthenticationDataPtr &amp;) (defined in <a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>authData_</b> (defined in <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Authentication</b>() (defined in <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">create</a>(ParamMap &amp;params)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">create</a>(const std::string &amp;authParamsString)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">getAuthData</a>(AuthenticationDataPtr &amp;authDataAthenz)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">getAuthMethodName</a>() const</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">parseDefaultFormatAuthParams</a>(const std::string &amp;authParamsString)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AuthAthenz</b>() (defined in <a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_athenz.html">pulsar::AuthAthenz</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~Authentication</b>() (defined in <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz.html b/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz.html
new file mode 100644
index 00000000000..82eadea7d83
--- /dev/null
+++ b/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz.html
@@ -0,0 +1,266 @@
+<!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.9.7"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: pulsar::AuthAthenz Class Reference</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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="namespacepulsar.html">pulsar</a></li><li class="navelem"><a class="el" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classpulsar_1_1_auth_athenz-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">pulsar::AuthAthenz Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_authentication_8h_source.html">Authentication.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pulsar::AuthAthenz:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classpulsar_1_1_auth_athenz.png" usemap="#pulsar::AuthAthenz_map" alt=""/>
+  <map id="pulsar::AuthAthenz_map" name="pulsar::AuthAthenz_map">
+<area href="classpulsar_1_1_authentication.html" alt="pulsar::Authentication" shape="rect" coords="0,0,133,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab4ed3eadbc72cabc8ff942e0ebdc053d"><td class="memItemLeft" align="right" valign="top"><a id="ab4ed3eadbc72cabc8ff942e0ebdc053d" name="ab4ed3eadbc72cabc8ff942e0ebdc053d"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AuthAthenz</b> (AuthenticationDataPtr &amp;)</td></tr>
+<tr class="separator:ab4ed3eadbc72cabc8ff942e0ebdc053d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65405a1cfd2ec3efcaeea3ed8269fa47"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_athenz.html#a65405a1cfd2ec3efcaeea3ed8269fa47">getAuthMethodName</a> () const</td></tr>
+<tr class="separator:a65405a1cfd2ec3efcaeea3ed8269fa47"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a274c9e677c536166fd1d4f8af6161546"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_athenz.html#a274c9e677c536166fd1d4f8af6161546">getAuthData</a> (AuthenticationDataPtr &amp;authDataAthenz)</td></tr>
+<tr class="separator:a274c9e677c536166fd1d4f8af6161546"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafe5c68d220ae0926a2c66953eafed57"><td class="memItemLeft" align="right" valign="top">virtual const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">getAuthMethodName</a> () const =0</td></tr>
+<tr class="separator:aafe5c68d220ae0926a2c66953eafed57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14811c36fc300cfa7769f7ee96018688"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">getAuthData</a> (AuthenticationDataPtr &amp;authDataContent)</td></tr>
+<tr class="separator:a14811c36fc300cfa7769f7ee96018688"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:acde69fc41668a27d12d558023aaed0d9"><td class="memItemLeft" align="right" valign="top">static AuthenticationPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_athenz.html#acde69fc41668a27d12d558023aaed0d9">create</a> (ParamMap &amp;params)</td></tr>
+<tr class="separator:acde69fc41668a27d12d558023aaed0d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd40a525e1d8d61fc97880c2c8a958fe"><td class="memItemLeft" align="right" valign="top">static AuthenticationPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_athenz.html#afd40a525e1d8d61fc97880c2c8a958fe">create</a> (const std::string &amp;authParamsString)</td></tr>
+<tr class="separator:afd40a525e1d8d61fc97880c2c8a958fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_classpulsar_1_1_authentication"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classpulsar_1_1_authentication')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td></tr>
+<tr class="memitem:a0ff47251bd4184cd0e9155e76a5c35bb inherit pub_static_methods_classpulsar_1_1_authentication"><td class="memItemLeft" align="right" valign="top">static ParamMap&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">parseDefaultFormatAuthParams</a> (const std::string &amp;authParamsString)</td></tr>
+<tr class="separator:a0ff47251bd4184cd0e9155e76a5c35bb inherit pub_static_methods_classpulsar_1_1_authentication"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classpulsar_1_1_authentication"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpulsar_1_1_authentication')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td></tr>
+<tr class="memitem:abac33d5c492826fb8a4bea05512c9f7c inherit pro_attribs_classpulsar_1_1_authentication"><td class="memItemLeft" align="right" valign="top">
+AuthenticationDataPtr&#160;</td><td class="memItemRight" valign="bottom"><b>authData_</b></td></tr>
+<tr class="separator:abac33d5c492826fb8a4bea05512c9f7c inherit pro_attribs_classpulsar_1_1_authentication"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Athenz implementation of Pulsar client authentication </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="afd40a525e1d8d61fc97880c2c8a958fe" name="afd40a525e1d8d61fc97880c2c8a958fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afd40a525e1d8d61fc97880c2c8a958fe">&#9670;&#160;</a></span>create() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static AuthenticationPtr pulsar::AuthAthenz::create </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>authParamsString</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create an <a class="el" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a> with an authentication parameter string</p>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">Authentication::parseDefaultFormatAuthParams</a> </dd></dl>
+
+</div>
+</div>
+<a id="acde69fc41668a27d12d558023aaed0d9" name="acde69fc41668a27d12d558023aaed0d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acde69fc41668a27d12d558023aaed0d9">&#9670;&#160;</a></span>create() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static AuthenticationPtr pulsar::AuthAthenz::create </td>
+          <td>(</td>
+          <td class="paramtype">ParamMap &amp;&#160;</td>
+          <td class="paramname"><em>params</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create an <a class="el" href="classpulsar_1_1_auth_athenz.html">AuthAthenz</a> with a ParamMap</p>
+<p>The required parameter keys are “tenantDomain”, “tenantService”, “providerDomain”, “privateKey”, and “ztsUrl”</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">params</td><td>the key-value to construct ZTS client </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section see"><dt>See also</dt><dd><a href="http://pulsar.apache.org/docs/en/security-athenz/">http://pulsar.apache.org/docs/en/security-athenz/</a> </dd></dl>
+
+</div>
+</div>
+<a id="a274c9e677c536166fd1d4f8af6161546" name="a274c9e677c536166fd1d4f8af6161546"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a274c9e677c536166fd1d4f8af6161546">&#9670;&#160;</a></span>getAuthData()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a> pulsar::AuthAthenz::getAuthData </td>
+          <td>(</td>
+          <td class="paramtype">AuthenticationDataPtr &amp;&#160;</td>
+          <td class="paramname"><em>authDataAthenz</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Get AuthenticationData from the current instance</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">authDataAthenz</td><td>the shared pointer of AuthenticationData. The content of AuthenticationData is changed to the internal data of the current instance. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>ResultOk </dd></dl>
+
+<p>Reimplemented from <a class="el" href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">pulsar::Authentication</a>.</p>
+
+</div>
+</div>
+<a id="a65405a1cfd2ec3efcaeea3ed8269fa47" name="a65405a1cfd2ec3efcaeea3ed8269fa47"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65405a1cfd2ec3efcaeea3ed8269fa47">&#9670;&#160;</a></span>getAuthMethodName()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const std::string pulsar::AuthAthenz::getAuthMethodName </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="section return"><dt>Returns</dt><dd>“athenz” </dd></dl>
+
+<p>Implements <a class="el" href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">pulsar::Authentication</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/pulsar/<a class="el" href="_authentication_8h_source.html">Authentication.h</a></li>
+</ul>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz.png b/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz.png
new file mode 100644
index 00000000000..78bae3fc354
Binary files /dev/null and b/static/api/cpp/3.3.x/classpulsar_1_1_auth_athenz.png differ
diff --git a/static/api/cpp/3.3.x/classpulsar_1_1_auth_basic-members.html b/static/api/cpp/3.3.x/classpulsar_1_1_auth_basic-members.html
new file mode 100644
index 00000000000..2aa82bd4349
--- /dev/null
+++ b/static/api/cpp/3.3.x/classpulsar_1_1_auth_basic-members.html
@@ -0,0 +1,101 @@
+<!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.9.7"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: Member 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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="namespacepulsar.html">pulsar</a></li><li class="navelem"><a class="el" href="classpulsar_1_1_auth_basic.html">AuthBasic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle"><div class="title">pulsar::AuthBasic Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>AuthBasic</b>(AuthenticationDataPtr &amp;) (defined in <a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>authData_</b> (defined in <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Authentication</b>() (defined in <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">create</a>(ParamMap &amp;params)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">create</a>(const std::string &amp;authParamsString)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">create</a>(const std::string &amp;username, const std::string &amp;password)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">create</a>(const std::string &amp;username, const std::string &amp;password, const std::string &amp;method)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">getAuthData</a>(AuthenticationDataPtr &amp;authDataBasic) override</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">getAuthMethodName</a>() const override</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">parseDefaultFormatAuthParams</a>(const std::string &amp;authParamsString)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~AuthBasic</b>() override (defined in <a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_auth_basic.html">pulsar::AuthBasic</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>~Authentication</b>() (defined in <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a>)</td><td class="entry"><a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
+</small></address>
+</body>
+</html>
diff --git a/static/api/cpp/3.3.x/classpulsar_1_1_auth_basic.html b/static/api/cpp/3.3.x/classpulsar_1_1_auth_basic.html
new file mode 100644
index 00000000000..e76b9dd4229
--- /dev/null
+++ b/static/api/cpp/3.3.x/classpulsar_1_1_auth_basic.html
@@ -0,0 +1,348 @@
+<!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.9.7"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>pulsar-client-cpp: pulsar::AuthBasic Class Reference</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>
+<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.9.7 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</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"><a class="el" href="namespacepulsar.html">pulsar</a></li><li class="navelem"><a class="el" href="classpulsar_1_1_auth_basic.html">AuthBasic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
+<a href="classpulsar_1_1_auth_basic-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">pulsar::AuthBasic Class Reference</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include &lt;<a class="el" href="_authentication_8h_source.html">Authentication.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for pulsar::AuthBasic:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="classpulsar_1_1_auth_basic.png" usemap="#pulsar::AuthBasic_map" alt=""/>
+  <map id="pulsar::AuthBasic_map" name="pulsar::AuthBasic_map">
+<area href="classpulsar_1_1_authentication.html" alt="pulsar::Authentication" shape="rect" coords="0,0,133,24"/>
+  </map>
+</div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa1731ccdb4171f03fe4fc0fc618a7b38"><td class="memItemLeft" align="right" valign="top"><a id="aa1731ccdb4171f03fe4fc0fc618a7b38" name="aa1731ccdb4171f03fe4fc0fc618a7b38"></a>
+&#160;</td><td class="memItemRight" valign="bottom"><b>AuthBasic</b> (AuthenticationDataPtr &amp;)</td></tr>
+<tr class="separator:aa1731ccdb4171f03fe4fc0fc618a7b38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9d2d1d47a1f1d82fee3522ea5991c3b"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_basic.html#ad9d2d1d47a1f1d82fee3522ea5991c3b">getAuthMethodName</a> () const override</td></tr>
+<tr class="separator:ad9d2d1d47a1f1d82fee3522ea5991c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b1ccda07ff0a22a705159e27149f3d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_basic.html#a7b1ccda07ff0a22a705159e27149f3d4">getAuthData</a> (AuthenticationDataPtr &amp;authDataBasic) override</td></tr>
+<tr class="separator:a7b1ccda07ff0a22a705159e27149f3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aafe5c68d220ae0926a2c66953eafed57"><td class="memItemLeft" align="right" valign="top">virtual const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_authentication.html#aafe5c68d220ae0926a2c66953eafed57">getAuthMethodName</a> () const =0</td></tr>
+<tr class="separator:aafe5c68d220ae0926a2c66953eafed57"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14811c36fc300cfa7769f7ee96018688"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacepulsar.html#ae85314d6b9e8afd831cf8c66705f2dbb">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_authentication.html#a14811c36fc300cfa7769f7ee96018688">getAuthData</a> (AuthenticationDataPtr &amp;authDataContent)</td></tr>
+<tr class="separator:a14811c36fc300cfa7769f7ee96018688"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aee17b2ca84965dfe8b3d9296dd397400"><td class="memItemLeft" align="right" valign="top">static AuthenticationPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_basic.html#aee17b2ca84965dfe8b3d9296dd397400">create</a> (ParamMap &amp;params)</td></tr>
+<tr class="separator:aee17b2ca84965dfe8b3d9296dd397400"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9f7f369e4559f0aa108708355dcaaec"><td class="memItemLeft" align="right" valign="top">static AuthenticationPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_basic.html#ac9f7f369e4559f0aa108708355dcaaec">create</a> (const std::string &amp;authParamsString)</td></tr>
+<tr class="separator:ac9f7f369e4559f0aa108708355dcaaec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86ce78ef0606d5642f110dc4ec8c6f67"><td class="memItemLeft" align="right" valign="top">static AuthenticationPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_basic.html#a86ce78ef0606d5642f110dc4ec8c6f67">create</a> (const std::string &amp;username, const std::string &amp;password)</td></tr>
+<tr class="separator:a86ce78ef0606d5642f110dc4ec8c6f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac85c75b0d48375423cbb5c1421529c46"><td class="memItemLeft" align="right" valign="top">static AuthenticationPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_auth_basic.html#ac85c75b0d48375423cbb5c1421529c46">create</a> (const std::string &amp;username, const std::string &amp;password, const std::string &amp;method)</td></tr>
+<tr class="separator:ac85c75b0d48375423cbb5c1421529c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_static_methods_classpulsar_1_1_authentication"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classpulsar_1_1_authentication')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td></tr>
+<tr class="memitem:a0ff47251bd4184cd0e9155e76a5c35bb inherit pub_static_methods_classpulsar_1_1_authentication"><td class="memItemLeft" align="right" valign="top">static ParamMap&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpulsar_1_1_authentication.html#a0ff47251bd4184cd0e9155e76a5c35bb">parseDefaultFormatAuthParams</a> (const std::string &amp;authParamsString)</td></tr>
+<tr class="separator:a0ff47251bd4184cd0e9155e76a5c35bb inherit pub_static_methods_classpulsar_1_1_authentication"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classpulsar_1_1_authentication"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpulsar_1_1_authentication')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classpulsar_1_1_authentication.html">pulsar::Authentication</a></td></tr>
+<tr class="memitem:abac33d5c492826fb8a4bea05512c9f7c inherit pro_attribs_classpulsar_1_1_authentication"><td class="memItemLeft" align="right" valign="top">
+AuthenticationDataPtr&#160;</td><td class="memItemRight" valign="bottom"><b>authData_</b></td></tr>
+<tr class="separator:abac33d5c492826fb8a4bea05512c9f7c inherit pro_attribs_classpulsar_1_1_authentication"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Basic based implementation of Pulsar client authentication </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a id="ac9f7f369e4559f0aa108708355dcaaec" name="ac9f7f369e4559f0aa108708355dcaaec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9f7f369e4559f0aa108708355dcaaec">&#9670;&#160;</a></span>create() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static AuthenticationPtr pulsar::AuthBasic::create </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>authParamsString</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create an <a class="el" href="classpulsar_1_1_auth_basic.html">AuthBasic</a> with an authentication parameter string</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">authParamsString</td><td>the JSON format string: {"username": "admin", "password": "123456"} </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a86ce78ef0606d5642f110dc4ec8c6f67" name="a86ce78ef0606d5642f110dc4ec8c6f67"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86ce78ef0606d5642f110dc4ec8c6f67">&#9670;&#160;</a></span>create() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static AuthenticationPtr pulsar::AuthBasic::create </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>username</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>password</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create an <a class="el" href="classpulsar_1_1_auth_basic.html">AuthBasic</a> with the required parameters </p>
+
+</div>
+</div>
+<a id="ac85c75b0d48375423cbb5c1421529c46" name="ac85c75b0d48375423cbb5c1421529c46"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac85c75b0d48375423cbb5c1421529c46">&#9670;&#160;</a></span>create() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static AuthenticationPtr pulsar::AuthBasic::create </td>
+          <td>(</td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>username</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>password</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const std::string &amp;&#160;</td>
+          <td class="paramname"><em>method</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Create an <a class="el" href="classpulsar_1_1_auth_basic.html">AuthBasic</a> with the required parameters </p>
+
+</div>
+</div>
+<a id="aee17b2ca84965dfe8b3d9296dd397400" name="aee17b2ca84965dfe8b3d9296dd397400"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aee17b2ca84965dfe8b3d9296dd397400">&#9670;&#160;</a></span>create() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static AuthenticationPtr pulsar::AuthBasic::create </td>
+          <td>(</td>
+          <td class="paramtype">ParamMap &amp;&#160;</td>
... 40204 lines suppressed ...