blob: 3ba6a6b5fb8daaf762d39dd958bab907088638be [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.9.5"/>
<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.5 -->
<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/defines.h&gt;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &lt;pulsar/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/Producer.h&gt;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &lt;pulsar/Reader.h&gt;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &lt;pulsar/Result.h&gt;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &lt;pulsar/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/MessageBuilder.h&gt;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#include &lt;pulsar/ClientConfiguration.h&gt;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#include &lt;pulsar/Schema.h&gt;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#include &lt;pulsar/ConsoleLoggerFactory.h&gt;</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &lt;pulsar/FileLoggerFactory.h&gt;</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacepulsar.html">pulsar</a> {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><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="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>, Consumer)&gt; SubscribeCallback;</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>, Reader)&gt; ReaderCallback;</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>, <span class="keyword">const</span> std::vector&lt;std::string&gt;&amp;)&gt; GetPartitionsCallback;</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>)&gt; CloseCallback;</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">class </span>ClientImpl;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="keyword">class </span>PulsarFriend;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">class </span>PulsarWrapper;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html"> 46</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="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#acab90af5d0542803bc1d10e68d27414f"> 54</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="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_client.html#a148122b14f22844d359c35c084907962"> 64</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; clientConfiguration);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a96f49cc0ce27bfe68d75224991f0ba52"> 76</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="classpulsar_1_1_producer.html">Producer</a>&amp; producer);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aae7658dee80ad23b418cfb7e12f5df05"> 89</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> <a class="code hl_class" href="classpulsar_1_1_producer_configuration.html">ProducerConfiguration</a>&amp; conf, <a class="code hl_class" href="classpulsar_1_1_producer.html">Producer</a>&amp; producer);</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"><a class="line" href="classpulsar_1_1_client.html#a666be9ce0980aeda2921c2229c003db8"> 99</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="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a46e87bd20edc2a00c492e2be2c43a644"> 108</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</a> conf,</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> CreateProducerCallback callback);</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a9f32b4d1101f8f2fb5029013c87779ab"> 119</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::string&amp; subscriptionName, <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a11b3ca7d9174a0912bf51b742f7f825a"> 129</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::string&amp; subscriptionName,</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</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="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a534d1cc013112c4e9eeee037b42b4815"> 141</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="l00142" name="l00142"></a><span class="lineno"> 142</span> SubscribeCallback callback);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a85d82595856f515b22acb623e84daa4b"> 154</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="l00155" name="l00155"></a><span class="lineno"> 155</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="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aea2d7918286ecd127751d06e191a5471"> 164</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">const</span> std::string&amp; subscriptionName,</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a9188d5fafbb23da16f859592316947e4"> 175</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">const</span> std::string&amp; subscriptionName,</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</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="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a33f76797dfbd57daf4c72f96c659fe77"> 188</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="l00189" name="l00189"></a><span class="lineno"> 189</span> SubscribeCallback callback);</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"><a class="line" href="classpulsar_1_1_client.html#afcfcc1f9bcc63527063ae1b60a41ba8e"> 201</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="l00202" name="l00202"></a><span class="lineno"> 202</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="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.html#a086549ca0d057be1e9d00ca483995621"> 207</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">const</span> std::string&amp; subscriptionName,</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <a class="code hl_class" href="classpulsar_1_1_consumer.html">Consumer</a>&amp; consumer);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a11016481c032f7d07e3ab5be341c9344"> 214</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">const</span> std::string&amp; subscriptionName,</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</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="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a49a6024ae4ff44e1e02a59bc08d28c7a"> 224</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="l00225" name="l00225"></a><span class="lineno"> 225</span> SubscribeCallback callback);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#abef60cadedd17903a245dbaa8368381a"> 237</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="l00238" name="l00238"></a><span class="lineno"> 238</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="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ad2f6404e06200714e1fe82419b7c963a"> 269</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 class="code hl_class" href="classpulsar_1_1_message_id.html">MessageId</a>&amp; startMessageId,</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</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="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ab837056e2ea59c8c55d83d6451ee7b08"> 298</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">MessageId</a>&amp; startMessageId,</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</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="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a208629aff52395ad0072622ae82f5657"> 314</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;&amp; partitions);</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a2c3746c12dd5a531efcf2e8af96a3337"> 331</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="l00332" name="l00332"></a><span class="lineno"> 332</span> </div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ac3f0a65b099f88781548d4fad41685ac"> 337</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="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#ad2701d78fca53d5261616ca53381241d"> 348</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="l00349" name="l00349"></a><span class="lineno"> 349</span> </div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#aecac8bf91b474339455fe0519f6ba71e"> 356</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="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc"> 363</a></span> uint64_t <a class="code hl_function" href="classpulsar_1_1_client.html#a5225a8d2b121cce6e205ef6e2471cdbc">getNumberOfProducers</a>();</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423"> 370</a></span> uint64_t <a class="code hl_function" href="classpulsar_1_1_client.html#a1134874e191f8bf395c020f1ed3b2423">getNumberOfConsumers</a>();</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> </div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</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="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordtype">bool</span> poolConnections);</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</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="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keyword">friend</span> <span class="keyword">class </span>PulsarFriend;</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">friend</span> <span class="keyword">class </span>PulsarWrapper;</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> std::shared_ptr&lt;ClientImpl&gt; impl_;</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span>};</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span>} <span class="comment">// namespace pulsar</span></div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</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:46</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_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_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_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:54</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:35</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:32</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:44</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:35</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:47</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="anamespacepulsar_html"><div class="ttname"><a href="namespacepulsar.html">pulsar</a></div><div class="ttdef"><b>Definition:</b> Authentication.h:30</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: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.5
</small></address>
</body>
</html>