blob: 4e62b9e32a91ef20be6293c06f835209aaa8bde1 [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.15.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>pulsar-client-cpp: pulsar::Client 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>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript" src="darkmode_toggle.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">pulsar-client-cpp
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.15.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search/",'.html');
</script>
<script type="text/javascript">
$(function() { codefold.init(); });
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a href="namespacepulsar.html">pulsar</a></li><li class="navelem"><a href="classpulsar_1_1_client.html">Client</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<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="#friends">Friends</a> &#124;
<a href="classpulsar_1_1_client-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">pulsar::Client Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acab90af5d0542803bc1d10e68d27414f" id="r_acab90af5d0542803bc1d10e68d27414f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acab90af5d0542803bc1d10e68d27414f">Client</a> (const std::string &amp;serviceUrl)</td></tr>
<tr class="memitem:a148122b14f22844d359c35c084907962" id="r_a148122b14f22844d359c35c084907962"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a148122b14f22844d359c35c084907962">Client</a> (const std::string &amp;serviceUrl, const <a class="el" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a> &amp;clientConfiguration)</td></tr>
<tr class="memitem:a96f49cc0ce27bfe68d75224991f0ba52" id="r_a96f49cc0ce27bfe68d75224991f0ba52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a96f49cc0ce27bfe68d75224991f0ba52">createProducer</a> (const std::string &amp;topic, <a class="el" href="classpulsar_1_1_producer.html">Producer</a> &amp;producer)</td></tr>
<tr class="memitem:aae7658dee80ad23b418cfb7e12f5df05" id="r_aae7658dee80ad23b418cfb7e12f5df05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae7658dee80ad23b418cfb7e12f5df05">createProducer</a> (const std::string &amp;topic, const <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> &amp;conf, <a class="el" href="classpulsar_1_1_producer.html">Producer</a> &amp;producer)</td></tr>
<tr class="memitem:a7e60b3a2ad7a2aaba14da614feccf442" id="r_a7e60b3a2ad7a2aaba14da614feccf442"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e60b3a2ad7a2aaba14da614feccf442">createProducerAsync</a> (const std::string &amp;topic, const CreateProducerCallback &amp;callback)</td></tr>
<tr class="memitem:a500b0255095c5a5f9a5bfa2de3be101c" id="r_a500b0255095c5a5f9a5bfa2de3be101c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a500b0255095c5a5f9a5bfa2de3be101c">createProducerAsync</a> (const std::string &amp;topic, const <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> &amp;conf, const CreateProducerCallback &amp;callback)</td></tr>
<tr class="memitem:a9f32b4d1101f8f2fb5029013c87779ab" id="r_a9f32b4d1101f8f2fb5029013c87779ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9f32b4d1101f8f2fb5029013c87779ab">subscribe</a> (const std::string &amp;topic, const std::string &amp;subscriptionName, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;consumer)</td></tr>
<tr class="memitem:a11b3ca7d9174a0912bf51b742f7f825a" id="r_a11b3ca7d9174a0912bf51b742f7f825a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a11b3ca7d9174a0912bf51b742f7f825a">subscribe</a> (const std::string &amp;topic, const std::string &amp;subscriptionName, const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;conf, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;consumer)</td></tr>
<tr class="memitem:a28fcb312864446c441530ec3088a8ca2" id="r_a28fcb312864446c441530ec3088a8ca2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a28fcb312864446c441530ec3088a8ca2">subscribeAsync</a> (const std::string &amp;topic, const std::string &amp;subscriptionName, const SubscribeCallback &amp;callback)</td></tr>
<tr class="memitem:a0b23a074225bf8aea5e73090072c9a55" id="r_a0b23a074225bf8aea5e73090072c9a55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0b23a074225bf8aea5e73090072c9a55">subscribeAsync</a> (const std::string &amp;topic, const std::string &amp;subscriptionName, const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;conf, const SubscribeCallback &amp;callback)</td></tr>
<tr class="memitem:aea2d7918286ecd127751d06e191a5471" id="r_aea2d7918286ecd127751d06e191a5471"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aea2d7918286ecd127751d06e191a5471">subscribe</a> (const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;consumer)</td></tr>
<tr class="memitem:a9188d5fafbb23da16f859592316947e4" id="r_a9188d5fafbb23da16f859592316947e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9188d5fafbb23da16f859592316947e4">subscribe</a> (const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;conf, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;consumer)</td></tr>
<tr class="memitem:a34ed4cb4ee012a187cc19d92808dc879" id="r_a34ed4cb4ee012a187cc19d92808dc879"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a34ed4cb4ee012a187cc19d92808dc879">subscribeAsync</a> (const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const SubscribeCallback &amp;callback)</td></tr>
<tr class="memitem:aab5f8742d3e390fb5c03194909ceb40b" id="r_aab5f8742d3e390fb5c03194909ceb40b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aab5f8742d3e390fb5c03194909ceb40b">subscribeAsync</a> (const std::vector&lt; std::string &gt; &amp;topics, const std::string &amp;subscriptionName, const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;conf, const SubscribeCallback &amp;callback)</td></tr>
<tr class="memitem:a086549ca0d057be1e9d00ca483995621" id="r_a086549ca0d057be1e9d00ca483995621"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a086549ca0d057be1e9d00ca483995621">subscribeWithRegex</a> (const std::string &amp;regexPattern, const std::string &amp;subscriptionName, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;consumer)</td></tr>
<tr class="memitem:a11016481c032f7d07e3ab5be341c9344" id="r_a11016481c032f7d07e3ab5be341c9344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a11016481c032f7d07e3ab5be341c9344">subscribeWithRegex</a> (const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;conf, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;consumer)</td></tr>
<tr class="memitem:a37d10a06eee84ba83d1c152e23c2c115" id="r_a37d10a06eee84ba83d1c152e23c2c115"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a37d10a06eee84ba83d1c152e23c2c115">subscribeWithRegexAsync</a> (const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const SubscribeCallback &amp;callback)</td></tr>
<tr class="memitem:acec028a2df74e7888d98ad601b23adc2" id="r_acec028a2df74e7888d98ad601b23adc2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acec028a2df74e7888d98ad601b23adc2">subscribeWithRegexAsync</a> (const std::string &amp;regexPattern, const std::string &amp;subscriptionName, const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;conf, const SubscribeCallback &amp;callback)</td></tr>
<tr class="memitem:ad2f6404e06200714e1fe82419b7c963a" id="r_ad2f6404e06200714e1fe82419b7c963a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2f6404e06200714e1fe82419b7c963a">createReader</a> (const std::string &amp;topic, const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;startMessageId, const <a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> &amp;conf, <a class="el" href="classpulsar_1_1_reader.html">Reader</a> &amp;reader)</td></tr>
<tr class="memitem:a3d8d957bb4b32794684c1d9595aeff7f" id="r_a3d8d957bb4b32794684c1d9595aeff7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d8d957bb4b32794684c1d9595aeff7f">createReaderAsync</a> (const std::string &amp;topic, const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;startMessageId, const <a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> &amp;conf, const ReaderCallback &amp;callback)</td></tr>
<tr class="memitem:aafa5591b8fc3241e50c2b1f2e3bafe24" id="r_aafa5591b8fc3241e50c2b1f2e3bafe24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aafa5591b8fc3241e50c2b1f2e3bafe24">createTableView</a> (const std::string &amp;topic, const <a class="el" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> &amp;conf, <a class="el" href="classpulsar_1_1_table_view.html">TableView</a> &amp;tableView)</td></tr>
<tr class="memitem:acef8e93155a245037a89c317231dca09" id="r_acef8e93155a245037a89c317231dca09"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acef8e93155a245037a89c317231dca09">createTableViewAsync</a> (const std::string &amp;topic, const <a class="el" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> &amp;conf, const TableViewCallback &amp;callBack)</td></tr>
<tr class="memitem:a208629aff52395ad0072622ae82f5657" id="r_a208629aff52395ad0072622ae82f5657"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a208629aff52395ad0072622ae82f5657">getPartitionsForTopic</a> (const std::string &amp;topic, std::vector&lt; std::string &gt; &amp;partitions)</td></tr>
<tr class="memitem:aef3dbd7892cb923901f04dd2e0176561" id="r_aef3dbd7892cb923901f04dd2e0176561"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aef3dbd7892cb923901f04dd2e0176561">getPartitionsForTopicAsync</a> (const std::string &amp;topic, const GetPartitionsCallback &amp;callback)</td></tr>
<tr class="memitem:ac3f0a65b099f88781548d4fad41685ac" id="r_ac3f0a65b099f88781548d4fad41685ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3f0a65b099f88781548d4fad41685ac">close</a> ()</td></tr>
<tr class="memitem:a07adae8c6621b53db66d761f8f2578b3" id="r_a07adae8c6621b53db66d761f8f2578b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a07adae8c6621b53db66d761f8f2578b3">closeAsync</a> (const CloseCallback &amp;callback)</td></tr>
<tr class="memitem:aecac8bf91b474339455fe0519f6ba71e" id="r_aecac8bf91b474339455fe0519f6ba71e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aecac8bf91b474339455fe0519f6ba71e">shutdown</a> ()</td></tr>
<tr class="memitem:a5225a8d2b121cce6e205ef6e2471cdbc" id="r_a5225a8d2b121cce6e205ef6e2471cdbc"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5225a8d2b121cce6e205ef6e2471cdbc">getNumberOfProducers</a> ()</td></tr>
<tr class="memdesc:a5225a8d2b121cce6e205ef6e2471cdbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of alive producers on the current client. <br /></td></tr>
<tr class="memitem:a1134874e191f8bf395c020f1ed3b2423" id="r_a1134874e191f8bf395c020f1ed3b2423"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1134874e191f8bf395c020f1ed3b2423">getNumberOfConsumers</a> ()</td></tr>
<tr class="memdesc:a1134874e191f8bf395c020f1ed3b2423"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of alive consumers on the current client. <br /></td></tr>
<tr class="memitem:aa24ed12d3228c31c923e33fee1eb6f55" id="r_aa24ed12d3228c31c923e33fee1eb6f55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa24ed12d3228c31c923e33fee1eb6f55">getSchemaInfoAsync</a> (const std::string &amp;topic, int64_t version, std::function&lt; void(<a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, const <a class="el" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> &amp;)&gt; callback)</td></tr>
<tr class="memitem:a4eeee0211de27be96b67e70f628e826b" id="r_a4eeee0211de27be96b67e70f628e826b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpulsar_1_1_service_info.html">ServiceInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4eeee0211de27be96b67e70f628e826b">getServiceInfo</a> () const</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-pub-static-methods" class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a0108c57bbe88e490bf3c5d4bf776a892" id="r_a0108c57bbe88e490bf3c5d4bf776a892"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="#acab90af5d0542803bc1d10e68d27414f">Client</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0108c57bbe88e490bf3c5d4bf776a892">create</a> (std::unique_ptr&lt; <a class="el" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a> &gt; serviceInfoProvider, const <a class="el" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a> &amp;clientConfiguration)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 id="header-friends" class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ac1899b25eaceed54fad39b7b44d8a00f" id="r_ac1899b25eaceed54fad39b7b44d8a00f"><td class="memItemLeft" align="right" valign="top"><a id="ac1899b25eaceed54fad39b7b44d8a00f" name="ac1899b25eaceed54fad39b7b44d8a00f"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PulsarFriend</b></td></tr>
<tr class="memitem:aec24ec969dcf4df0185304ccbf6d653c" id="r_aec24ec969dcf4df0185304ccbf6d653c"><td class="memItemLeft" align="right" valign="top"><a id="aec24ec969dcf4df0185304ccbf6d653c" name="aec24ec969dcf4df0185304ccbf6d653c"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PulsarWrapper</b></td></tr>
</table>
<a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="acab90af5d0542803bc1d10e68d27414f" name="acab90af5d0542803bc1d10e68d27414f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acab90af5d0542803bc1d10e68d27414f">&#9670;&#160;</a></span>Client() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pulsar::Client::Client </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>serviceUrl</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a Pulsar client object connecting to the specified cluster address and using the default configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">serviceUrl</td><td>the Pulsar endpoint to use (eg: pulsar://localhost:6650) </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::invalid_argument</td><td>if <span class="tt">serviceUrl</span> is invalid </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a148122b14f22844d359c35c084907962" name="a148122b14f22844d359c35c084907962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a148122b14f22844d359c35c084907962">&#9670;&#160;</a></span>Client() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pulsar::Client::Client </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>serviceUrl</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>clientConfiguration</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a Pulsar client object connecting to the specified cluster address and using the specified configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">serviceUrl</td><td>the Pulsar endpoint to use (eg: <a href="http://brokerv2-pdev.messaging.corp.gq1.yahoo.com:4080">http://brokerv2-pdev.messaging.corp.gq1.yahoo.com:4080</a> for Sandbox access) </td></tr>
<tr><td class="paramname">clientConfiguration</td><td>the client configuration to use </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::invalid_argument</td><td>if <span class="tt">serviceUrl</span> is invalid </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="ac3f0a65b099f88781548d4fad41685ac" name="ac3f0a65b099f88781548d4fad41685ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3f0a65b099f88781548d4fad41685ac">&#9670;&#160;</a></span>close()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::close </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
<a id="a07adae8c6621b53db66d761f8f2578b3" name="a07adae8c6621b53db66d761f8f2578b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07adae8c6621b53db66d761f8f2578b3">&#9670;&#160;</a></span>closeAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::closeAsync </td>
<td>(</td>
<td class="paramtype">const CloseCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously close the Pulsar client and release all resources.</p>
<p>All producers, consumers, and readers are orderly closed. The client waits until all pending write requests are persisted.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>the callback that is triggered when the Pulsar client is asynchronously closed successfully or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0108c57bbe88e490bf3c5d4bf776a892" name="a0108c57bbe88e490bf3c5d4bf776a892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0108c57bbe88e490bf3c5d4bf776a892">&#9670;&#160;</a></span>create()</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="#acab90af5d0542803bc1d10e68d27414f">Client</a> pulsar::Client::create </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a> &gt;</td> <td class="paramname"><span class="paramname"><em>serviceInfoProvider</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_client_configuration.html">ClientConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>clientConfiguration</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a Pulsar client object using the specified <a class="el" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a>.</p>
<p>The <a class="el" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a> is responsible for providing the service information (such as service URL) dynamically. For example, if it detects a primary Pulsar service is down, it can switch to a secondary service and update the client with the new service information.</p>
<p>The <a class="el" href="classpulsar_1_1_client.html">Client</a> instance takes ownership of the given <a class="el" href="classpulsar_1_1_service_info_provider.html">ServiceInfoProvider</a>. The provider will be destroyed as part of the client's shutdown lifecycle, for example when <span class="tt"><a class="el" href="#ac3f0a65b099f88781548d4fad41685ac">Client::close()</a></span> or <span class="tt"><a class="el" href="#a07adae8c6621b53db66d761f8f2578b3">Client::closeAsync()</a></span> is called, ensuring that its lifetime is properly managed. </p>
</div>
</div>
<a id="aae7658dee80ad23b418cfb7e12f5df05" name="aae7658dee80ad23b418cfb7e12f5df05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae7658dee80ad23b418cfb7e12f5df05">&#9670;&#160;</a></span>createProducer() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::createProducer </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_producer.html">Producer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>producer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a producer with specified configuration</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aae7658dee80ad23b418cfb7e12f5df05">createProducer(const std::string&amp;, const ProducerConfiguration&amp;, Producer&amp;)</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the topic where the new producer will publish </td></tr>
<tr><td class="paramname">conf</td><td>the producer config to use </td></tr>
<tr><td class="paramname">producer</td><td>a non-const reference where the new producer will be copied </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if the producer has been successfully created </dd>
<dd>
ResultError if there was an error </dd></dl>
</div>
</div>
<a id="a96f49cc0ce27bfe68d75224991f0ba52" name="a96f49cc0ce27bfe68d75224991f0ba52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96f49cc0ce27bfe68d75224991f0ba52">&#9670;&#160;</a></span>createProducer() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::createProducer </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_producer.html">Producer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>producer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a producer with default configuration</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="#aae7658dee80ad23b418cfb7e12f5df05">createProducer(const std::string&amp;, const ProducerConfiguration&amp;, Producer&amp;)</a></dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the topic where the new producer will publish </td></tr>
<tr><td class="paramname">producer</td><td>a non-const reference where the new producer will be copied </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if the producer has been successfully created </dd>
<dd>
ResultError if there was an error </dd></dl>
</div>
</div>
<a id="a7e60b3a2ad7a2aaba14da614feccf442" name="a7e60b3a2ad7a2aaba14da614feccf442"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e60b3a2ad7a2aaba14da614feccf442">&#9670;&#160;</a></span>createProducerAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::createProducerAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const CreateProducerCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously create a producer with the default <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> for publishing on a specific topic</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the name of the topic where to produce </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when the producer is created successfully or not </td></tr>
<tr><td class="paramname">callback</td><td>Callback function that is invoked when the operation is completed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a500b0255095c5a5f9a5bfa2de3be101c" name="a500b0255095c5a5f9a5bfa2de3be101c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a500b0255095c5a5f9a5bfa2de3be101c">&#9670;&#160;</a></span>createProducerAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::createProducerAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const CreateProducerCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously create a producer with the customized <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> for publishing on a specific topic</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the name of the topic where to produce </td></tr>
<tr><td class="paramname">conf</td><td>the customized <a class="el" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad2f6404e06200714e1fe82419b7c963a" name="ad2f6404e06200714e1fe82419b7c963a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2f6404e06200714e1fe82419b7c963a">&#9670;&#160;</a></span>createReader()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::createReader </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;</td> <td class="paramname"><span class="paramname"><em>startMessageId</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_reader.html">Reader</a> &amp;</td> <td class="paramname"><span class="paramname"><em>reader</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a topic reader with given <code class="JavaDocCode">ReaderConfiguration</code> for reading messages from the specified topic. </p>
<p>The <a class="el" href="classpulsar_1_1_reader.html">Reader</a> provides a low-level abstraction that allows for manual positioning in the topic, without using a subscription. <a class="el" href="classpulsar_1_1_reader.html">Reader</a> can only work on non-partitioned topics. </p>
<p>The initial reader positioning is done by specifying a message id. The options are: </p><ul>
<li>
<code><a class="el" href="classpulsar_1_1_message_id.html#a3b0079713b68d0a9d03c269dc2ba2fff">MessageId.earliest</a></code> : Start reading from the earliest message available in the topic </li>
<li>
<code><a class="el" href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">MessageId.latest</a></code> : Start reading from the end topic, only getting messages published after the reader was created </li>
<li>
<code><a class="el" href="classpulsar_1_1_message_id.html">MessageId</a></code> : When passing a particular message id, the reader will position itself on that specific position. The first message to be read will be the message next to the specified messageId. </li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>The name of the topic where to read </td></tr>
<tr><td class="paramname">startMessageId</td><td>The message id where the reader will position itself. The first message returned will be the one after the specified startMessageId </td></tr>
<tr><td class="paramname">conf</td><td>The <code class="JavaDocCode">ReaderConfiguration</code> object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <code class="JavaDocCode">Reader</code> object </dd></dl>
</div>
</div>
<a id="a3d8d957bb4b32794684c1d9595aeff7f" name="a3d8d957bb4b32794684c1d9595aeff7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d8d957bb4b32794684c1d9595aeff7f">&#9670;&#160;</a></span>createReaderAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::createReaderAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;</td> <td class="paramname"><span class="paramname"><em>startMessageId</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ReaderCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously create a topic reader with the customized <a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> for reading messages from the specified topic.</p>
<p>The <a class="el" href="classpulsar_1_1_reader.html">Reader</a> provides a low-level abstraction that allows for manual positioning in the topic, without using a subscription. The reader can only work on non-partitioned topics.</p>
<p>The initial reader positioning is done by specifying a message ID. The options are as below: </p><ul>
<li>
<code><a class="el" href="classpulsar_1_1_message_id.html#a3b0079713b68d0a9d03c269dc2ba2fff">MessageId.earliest</a></code> : start reading from the earliest message available in the topic </li>
<li>
<code><a class="el" href="classpulsar_1_1_message_id.html#af9c67f2e12e102b07c609a8da5740976">MessageId.latest</a></code> : start reading from the latest topic, only getting messages published after the reader was created </li>
<li>
<code><a class="el" href="classpulsar_1_1_message_id.html">MessageId</a></code> : when passing a particular message ID, the reader positions itself on that is the message next to the specified messageId. </li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the name of the topic where to read </td></tr>
<tr><td class="paramname">startMessageId</td><td>the message ID where the reader positions itself. The first message returned is the one after the specified startMessageId </td></tr>
<tr><td class="paramname">conf</td><td>the <a class="el" href="classpulsar_1_1_reader_configuration.html">ReaderConfiguration</a> object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the <a class="el" href="classpulsar_1_1_reader.html">Reader</a> object </dd></dl>
</div>
</div>
<a id="aafa5591b8fc3241e50c2b1f2e3bafe24" name="aafa5591b8fc3241e50c2b1f2e3bafe24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafa5591b8fc3241e50c2b1f2e3bafe24">&#9670;&#160;</a></span>createTableView()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::createTableView </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_table_view.html">TableView</a> &amp;</td> <td class="paramname"><span class="paramname"><em>tableView</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a table view with given <code class="JavaDocCode">TableViewConfiguration</code> for specified topic.</p>
<p>The <a class="el" href="classpulsar_1_1_table_view.html">TableView</a> provides a key-value map view of a compacted topic. <a class="el" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a" title="Callback definition for non-data operation.">Messages</a> without keys will be ignored.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>The name of the topic. </td></tr>
<tr><td class="paramname">conf</td><td>The <code class="JavaDocCode">TableViewConfiguration</code> object </td></tr>
<tr><td class="paramname">tableView</td><td>The <code class="JavaDocCode">TableView</code> object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returned when the <a class="el" href="classpulsar_1_1_table_view.html">TableView</a> is successfully linked to the topic and the map is built from a message that already exists </dd></dl>
</div>
</div>
<a id="acef8e93155a245037a89c317231dca09" name="acef8e93155a245037a89c317231dca09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acef8e93155a245037a89c317231dca09">&#9670;&#160;</a></span>createTableViewAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::createTableViewAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structpulsar_1_1_table_view_configuration.html">TableViewConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TableViewCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callBack</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Async create a table view with given <code class="JavaDocCode">TableViewConfiguration</code> for specified topic.</p>
<p>The <a class="el" href="classpulsar_1_1_table_view.html">TableView</a> provides a key-value map view of a compacted topic. <a class="el" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a" title="Callback definition for non-data operation.">Messages</a> without keys will be ignored.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>The name of the topic. </td></tr>
<tr><td class="paramname">conf</td><td>The <code class="JavaDocCode">TableViewConfiguration</code> object </td></tr>
<tr><td class="paramname">callBack</td><td>The callback that is triggered when the <a class="el" href="classpulsar_1_1_table_view.html">TableView</a> is successfully linked to the topic and the map is built from a message that already exists </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1134874e191f8bf395c020f1ed3b2423" name="a1134874e191f8bf395c020f1ed3b2423"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1134874e191f8bf395c020f1ed3b2423">&#9670;&#160;</a></span>getNumberOfConsumers()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t pulsar::Client::getNumberOfConsumers </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of alive consumers on the current client. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of alive consumers on the current client. </dd></dl>
</div>
</div>
<a id="a5225a8d2b121cce6e205ef6e2471cdbc" name="a5225a8d2b121cce6e205ef6e2471cdbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5225a8d2b121cce6e205ef6e2471cdbc">&#9670;&#160;</a></span>getNumberOfProducers()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t pulsar::Client::getNumberOfProducers </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the number of alive producers on the current client. </p>
<dl class="section return"><dt>Returns</dt><dd>The number of alive producers on the current client. </dd></dl>
</div>
</div>
<a id="a208629aff52395ad0072622ae82f5657" name="a208629aff52395ad0072622ae82f5657"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a208629aff52395ad0072622ae82f5657">&#9670;&#160;</a></span>getPartitionsForTopic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::getPartitionsForTopic </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>partitions</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the list of partitions for a given topic.</p>
<p>If the topic is partitioned, this will return a list of partition names. If the topic is not partitioned, the returned list will contain the topic name itself.</p>
<p>This can be used to discover the partitions and create <a class="el" href="classpulsar_1_1_reader.html">Reader</a>, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> or <a class="el" href="classpulsar_1_1_producer.html">Producer</a> instances directly on a particular partition.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the topic name </td></tr>
</table>
</dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>2.3.0 </dd></dl>
</div>
</div>
<a id="aef3dbd7892cb923901f04dd2e0176561" name="aef3dbd7892cb923901f04dd2e0176561"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef3dbd7892cb923901f04dd2e0176561">&#9670;&#160;</a></span>getPartitionsForTopicAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::getPartitionsForTopicAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const GetPartitionsCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the list of partitions for a given topic in asynchronous mode.</p>
<p>If the topic is partitioned, this will return a list of partition names. If the topic is not partitioned, the returned list will contain the topic name itself.</p>
<p>This can be used to discover the partitions and create <a class="el" href="classpulsar_1_1_reader.html">Reader</a>, <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> or <a class="el" href="classpulsar_1_1_producer.html">Producer</a> instances directly on a particular partition.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the topic name </td></tr>
<tr><td class="paramname">callback</td><td>the callback that will be invoked when the list of partitions is available </td></tr>
</table>
</dd>
</dl>
<dl class="section since"><dt>Since</dt><dd>2.3.0 </dd></dl>
</div>
</div>
<a id="aa24ed12d3228c31c923e33fee1eb6f55" name="aa24ed12d3228c31c923e33fee1eb6f55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa24ed12d3228c31c923e33fee1eb6f55">&#9670;&#160;</a></span>getSchemaInfoAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::getSchemaInfoAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t</td> <td class="paramname"><span class="paramname"><em>version</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; void(<a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>, const <a class="el" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> &amp;)&gt;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously get the <a class="el" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> of a topic and a specific version.</p>
<p>@topic the topic name </p><dl class="section version"><dt>Version</dt><dd>the schema version, see <a class="el" href="classpulsar_1_1_message.html#a4a4d35b3098d18b04f998764d3c2ce76">Message::getLongSchemaVersion</a> @callback the callback that is triggered when the <a class="el" href="classpulsar_1_1_schema_info.html">SchemaInfo</a> is retrieved successfully or not </dd></dl>
</div>
</div>
<a id="a4eeee0211de27be96b67e70f628e826b" name="a4eeee0211de27be96b67e70f628e826b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eeee0211de27be96b67e70f628e826b">&#9670;&#160;</a></span>getServiceInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classpulsar_1_1_service_info.html">ServiceInfo</a> pulsar::Client::getServiceInfo </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current service information of the client.</p>
<dl class="section return"><dt>Returns</dt><dd>the current service information </dd></dl>
</div>
</div>
<a id="aecac8bf91b474339455fe0519f6ba71e" name="aecac8bf91b474339455fe0519f6ba71e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecac8bf91b474339455fe0519f6ba71e">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::shutdown </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform immediate shutdown of Pulsar client.</p>
<p>Release all resources and close all producer, consumer, and readers without waiting for ongoing operations to complete. </p>
</div>
</div>
<a id="a11b3ca7d9174a0912bf51b742f7f825a" name="a11b3ca7d9174a0912bf51b742f7f825a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b3ca7d9174a0912bf51b742f7f825a">&#9670;&#160;</a></span>subscribe() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::subscribe </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>consumer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subscribe to a given topic and subscription combination with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">topic</td><td>the topic name </td></tr>
<tr><td class="paramdir"></td><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">consumer</td><td>the consumer instance to be returned </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if it subscribes to the topic successfully </dd></dl>
</div>
</div>
<a id="a9f32b4d1101f8f2fb5029013c87779ab" name="a9f32b4d1101f8f2fb5029013c87779ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f32b4d1101f8f2fb5029013c87779ab">&#9670;&#160;</a></span>subscribe() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::subscribe </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>consumer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subscribe to a given topic and subscription combination with the default <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">topic</td><td>the topic name </td></tr>
<tr><td class="paramdir"></td><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">consumer</td><td>the consumer instance to be returned </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if it subscribes to the topic successfully </dd></dl>
</div>
</div>
<a id="a9188d5fafbb23da16f859592316947e4" name="a9188d5fafbb23da16f859592316947e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9188d5fafbb23da16f859592316947e4">&#9670;&#160;</a></span>subscribe() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::subscribe </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>topics</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>consumer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subscribe to multiple topics with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> under the same namespace</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">topics</td><td>a list of topic names to subscribe to </td></tr>
<tr><td class="paramdir"></td><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramdir"></td><td class="paramname">conf</td><td>the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">consumer</td><td>the consumer instance to be returned </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aea2d7918286ecd127751d06e191a5471" name="aea2d7918286ecd127751d06e191a5471"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea2d7918286ecd127751d06e191a5471">&#9670;&#160;</a></span>subscribe() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::subscribe </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>topics</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>consumer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subscribe to multiple topics under the same namespace.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">topics</td><td>a list of topic names to subscribe to </td></tr>
<tr><td class="paramdir"></td><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">consumer</td><td>the consumer instance to be returned </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0b23a074225bf8aea5e73090072c9a55" name="a0b23a074225bf8aea5e73090072c9a55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b23a074225bf8aea5e73090072c9a55">&#9670;&#160;</a></span>subscribeAsync() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::subscribeAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SubscribeCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously subscribe to a given topic and subscription combination with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the topic name </td></tr>
<tr><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramname">conf</td><td>the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when a given topic and subscription combination with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> are asynchronously subscribed successfully or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a28fcb312864446c441530ec3088a8ca2" name="a28fcb312864446c441530ec3088a8ca2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28fcb312864446c441530ec3088a8ca2">&#9670;&#160;</a></span>subscribeAsync() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::subscribeAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>topic</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SubscribeCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously subscribe to a given topic and subscription combination with the default <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topic</td><td>the topic name </td></tr>
<tr><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when a given topic and subscription combination with the default <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> are asynchronously subscribed successfully or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aab5f8742d3e390fb5c03194909ceb40b" name="aab5f8742d3e390fb5c03194909ceb40b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab5f8742d3e390fb5c03194909ceb40b">&#9670;&#160;</a></span>subscribeAsync() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::subscribeAsync </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>topics</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SubscribeCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously subscribe to a list of topics and subscription combination using the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topics</td><td>the topic list </td></tr>
<tr><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramname">conf</td><td>the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when a list of topics and subscription combination using the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> are asynchronously subscribed successfully or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a34ed4cb4ee012a187cc19d92808dc879" name="a34ed4cb4ee012a187cc19d92808dc879"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34ed4cb4ee012a187cc19d92808dc879">&#9670;&#160;</a></span>subscribeAsync() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::subscribeAsync </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>topics</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SubscribeCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously subscribe to a list of topics and subscription combination using the default <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topics</td><td>the topic list </td></tr>
<tr><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when a list of topics and subscription combination using the default <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> are asynchronously subscribed successfully or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a11016481c032f7d07e3ab5be341c9344" name="a11016481c032f7d07e3ab5be341c9344"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11016481c032f7d07e3ab5be341c9344">&#9670;&#160;</a></span>subscribeWithRegex() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::subscribeWithRegex </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>regexPattern</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>consumer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subscribe to multiple topics (which match given regexPatterns) with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> under the same namespace </p>
</div>
</div>
<a id="a086549ca0d057be1e9d00ca483995621" name="a086549ca0d057be1e9d00ca483995621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a086549ca0d057be1e9d00ca483995621">&#9670;&#160;</a></span>subscribeWithRegex() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Client::subscribeWithRegex </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>regexPattern</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> &amp;</td> <td class="paramname"><span class="paramname"><em>consumer</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Subscribe to multiple topics, which match given regexPattern, under the same namespace. </p>
</div>
</div>
<a id="acec028a2df74e7888d98ad601b23adc2" name="acec028a2df74e7888d98ad601b23adc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acec028a2df74e7888d98ad601b23adc2">&#9670;&#160;</a></span>subscribeWithRegexAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::subscribeWithRegexAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>regexPattern</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> &amp;</td> <td class="paramname"><span class="paramname"><em>conf</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SubscribeCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously subscribe to multiple topics (which match given regexPatterns) with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> under the same namespace</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">regexPattern</td><td>the regular expression for topics pattern </td></tr>
<tr><td class="paramname">subscriptionName</td><td>the subscription name </td></tr>
<tr><td class="paramname">conf</td><td>the <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when multiple topics with the customized <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> under the same namespace are asynchronously subscribed successfully or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a37d10a06eee84ba83d1c152e23c2c115" name="a37d10a06eee84ba83d1c152e23c2c115"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37d10a06eee84ba83d1c152e23c2c115">&#9670;&#160;</a></span>subscribeWithRegexAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Client::subscribeWithRegexAsync </td>
<td>(</td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>regexPattern</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>subscriptionName</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SubscribeCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously subscribe to multiple topics (which match given regexPatterns) with the default <a class="el" href="classpulsar_1_1_consumer_configuration.html">ConsumerConfiguration</a> under the same namespace</p>
<dl class="section see"><dt>See also</dt><dd>subscribeWithRegexAsync(const std::string&amp;, const std::string&amp;, const ConsumerConfiguration&amp;,
SubscribeCallback) </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/pulsar/<a class="el" href="_client_8h_source.html">Client.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.15.0
</small></address>
</div><!-- doc-content -->
</body>
</html>