blob: b02d4b598bf50a5596f4897aa70da1bc5a7e84f2 [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::Consumer 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_consumer.html">Consumer</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="#friends">Friends</a> &#124;
<a href="classpulsar_1_1_consumer-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">pulsar::Consumer 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:afe59503d5d5309f38d4e246bd9f435b4" id="r_afe59503d5d5309f38d4e246bd9f435b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afe59503d5d5309f38d4e246bd9f435b4">Consumer</a> ()</td></tr>
<tr class="memitem:ad55d95cd75501562d8ae6d83935d5977" id="r_ad55d95cd75501562d8ae6d83935d5977"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad55d95cd75501562d8ae6d83935d5977">getTopic</a> () const</td></tr>
<tr class="memitem:af6049caaf3e1f8bc91d4dc52b02ab7d1" id="r_af6049caaf3e1f8bc91d4dc52b02ab7d1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af6049caaf3e1f8bc91d4dc52b02ab7d1">getSubscriptionName</a> () const</td></tr>
<tr class="memitem:a83f58a6118a693398c16e70cecac0303" id="r_a83f58a6118a693398c16e70cecac0303"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a83f58a6118a693398c16e70cecac0303">getConsumerName</a> () const</td></tr>
<tr class="memitem:a542ca0a9473a03ccf8bd8aeed24de490" id="r_a542ca0a9473a03ccf8bd8aeed24de490"><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="#a542ca0a9473a03ccf8bd8aeed24de490">unsubscribe</a> ()</td></tr>
<tr class="memitem:a2a3a5c0ca53537d6c2aeecbc9d850e6a" id="r_a2a3a5c0ca53537d6c2aeecbc9d850e6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2a3a5c0ca53537d6c2aeecbc9d850e6a">unsubscribeAsync</a> (const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:abc8cec6e81c582c6af8e3d931e41a2ad" id="r_abc8cec6e81c582c6af8e3d931e41a2ad"><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="#abc8cec6e81c582c6af8e3d931e41a2ad">receive</a> (<a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;msg)</td></tr>
<tr class="memitem:aee7896f8d5f991aeceefb6ec3ac15188" id="r_aee7896f8d5f991aeceefb6ec3ac15188"><td class="memTemplParams" colspan="2"><a id="aee7896f8d5f991aeceefb6ec3ac15188" name="aee7896f8d5f991aeceefb6ec3ac15188"></a>
template&lt;typename T&gt; </td></tr>
<tr class="memitem:aee7896f8d5f991aeceefb6ec3ac15188 template"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><b>receive</b> (<a class="el" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&lt; T &gt; &amp;msg, typename <a class="el" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&lt; T &gt;::Decoder decoder)</td></tr>
<tr class="memitem:ace9475b70f37c91df5b442f41058370e" id="r_ace9475b70f37c91df5b442f41058370e"><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="#ace9475b70f37c91df5b442f41058370e">receive</a> (<a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;msg, int timeoutMs)</td></tr>
<tr class="memitem:a04ea6e95258d7d93d2672283cdf02793" id="r_a04ea6e95258d7d93d2672283cdf02793"><td class="memTemplParams" colspan="2"><a id="a04ea6e95258d7d93d2672283cdf02793" name="a04ea6e95258d7d93d2672283cdf02793"></a>
template&lt;typename T&gt; </td></tr>
<tr class="memitem:a04ea6e95258d7d93d2672283cdf02793 template"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><b>receive</b> (<a class="el" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&lt; T &gt; &amp;msg, int timeoutMs, typename <a class="el" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&lt; T &gt;::Decoder decoder)</td></tr>
<tr class="memitem:a99703b58b62320701220041473f6a268" id="r_a99703b58b62320701220041473f6a268"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a99703b58b62320701220041473f6a268">receiveAsync</a> (const ReceiveCallback &amp;callback)</td></tr>
<tr class="memitem:ab02056e5778fdd2f9092d3a696618a4b" id="r_ab02056e5778fdd2f9092d3a696618a4b"><td class="memTemplParams" colspan="2"><a id="ab02056e5778fdd2f9092d3a696618a4b" name="ab02056e5778fdd2f9092d3a696618a4b"></a>
template&lt;typename T&gt; </td></tr>
<tr class="memitem:ab02056e5778fdd2f9092d3a696618a4b template"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><b>receiveAsync</b> (const std::function&lt; void(<a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> result, const <a class="el" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&lt; T &gt; &amp;)&gt; &amp;callback, typename <a class="el" href="classpulsar_1_1_typed_message.html">TypedMessage</a>&lt; T &gt;::Decoder decoder)</td></tr>
<tr class="memitem:a49c846a386d778df94a1439982be5cbd" id="r_a49c846a386d778df94a1439982be5cbd"><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="#a49c846a386d778df94a1439982be5cbd">batchReceive</a> (<a class="el" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Messages</a> &amp;msgs)</td></tr>
<tr class="memitem:ac13f007e453e3cc8ef36eb1dc43cb431" id="r_ac13f007e453e3cc8ef36eb1dc43cb431"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac13f007e453e3cc8ef36eb1dc43cb431">batchReceiveAsync</a> (const BatchReceiveCallback &amp;callback)</td></tr>
<tr class="memitem:a3c3eb5056f228d281798f9ea75f52af9" id="r_a3c3eb5056f228d281798f9ea75f52af9"><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="#a3c3eb5056f228d281798f9ea75f52af9">acknowledge</a> (const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;message)</td></tr>
<tr class="memitem:aed10e043835e50d8129e6adecd91da72" id="r_aed10e043835e50d8129e6adecd91da72"><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="#aed10e043835e50d8129e6adecd91da72">acknowledge</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId)</td></tr>
<tr class="memitem:a57fd2c53a44ea53262742d90ff11e0fd" id="r_a57fd2c53a44ea53262742d90ff11e0fd"><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="#a57fd2c53a44ea53262742d90ff11e0fd">acknowledge</a> (const MessageIdList &amp;messageIdList)</td></tr>
<tr class="memitem:a03898cea6e3f07684b78cb8d9c91741c" id="r_a03898cea6e3f07684b78cb8d9c91741c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a03898cea6e3f07684b78cb8d9c91741c">acknowledgeAsync</a> (const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;message, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:a5ce95d023c261c0df66ae867f46e6bf9" id="r_a5ce95d023c261c0df66ae867f46e6bf9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ce95d023c261c0df66ae867f46e6bf9">acknowledgeAsync</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:aeba1b5d159432bc9d72dba2e6be1b8ac" id="r_aeba1b5d159432bc9d72dba2e6be1b8ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aeba1b5d159432bc9d72dba2e6be1b8ac">acknowledgeAsync</a> (const MessageIdList &amp;messageIdList, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:a3eb0b0db2da0628da15d3f242e254f6d" id="r_a3eb0b0db2da0628da15d3f242e254f6d"><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="#a3eb0b0db2da0628da15d3f242e254f6d">acknowledgeCumulative</a> (const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;message)</td></tr>
<tr class="memitem:a79558de7435fd0b6ca0bde84f3061822" id="r_a79558de7435fd0b6ca0bde84f3061822"><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="#a79558de7435fd0b6ca0bde84f3061822">acknowledgeCumulative</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId)</td></tr>
<tr class="memitem:a9595ca8b28b2986e0fca503af4d4a5d7" id="r_a9595ca8b28b2986e0fca503af4d4a5d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9595ca8b28b2986e0fca503af4d4a5d7">acknowledgeCumulativeAsync</a> (const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;message, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:ab02b777ce0286f4450a3429c4daed86d" id="r_ab02b777ce0286f4450a3429c4daed86d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab02b777ce0286f4450a3429c4daed86d">acknowledgeCumulativeAsync</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:a3cd227d9be2ae090c3a55bcdfff1df69" id="r_a3cd227d9be2ae090c3a55bcdfff1df69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3cd227d9be2ae090c3a55bcdfff1df69">negativeAcknowledge</a> (const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;message)</td></tr>
<tr class="memitem:afd631d1c357bc0284afe3e0cd2acbd6e" id="r_afd631d1c357bc0284afe3e0cd2acbd6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afd631d1c357bc0284afe3e0cd2acbd6e">negativeAcknowledge</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId)</td></tr>
<tr class="memitem:a8b01803221c283e4df21715aeb024b84" id="r_a8b01803221c283e4df21715aeb024b84"><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="#a8b01803221c283e4df21715aeb024b84">close</a> ()</td></tr>
<tr class="memitem:a58fd2875d7a3a4239c0b13e782ca55f8" id="r_a58fd2875d7a3a4239c0b13e782ca55f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a58fd2875d7a3a4239c0b13e782ca55f8">closeAsync</a> (const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:a7370b7a19a08fdff5b044e74ad8bd679" id="r_a7370b7a19a08fdff5b044e74ad8bd679"><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="#a7370b7a19a08fdff5b044e74ad8bd679">pauseMessageListener</a> ()</td></tr>
<tr class="memitem:a02a9a412f1aa7f1ec8dc0c0134315b66" id="r_a02a9a412f1aa7f1ec8dc0c0134315b66"><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="#a02a9a412f1aa7f1ec8dc0c0134315b66">resumeMessageListener</a> ()</td></tr>
<tr class="memitem:a3d60ee12b0e9766d60c3a8e08a61287a" id="r_a3d60ee12b0e9766d60c3a8e08a61287a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d60ee12b0e9766d60c3a8e08a61287a">redeliverUnacknowledgedMessages</a> ()</td></tr>
<tr class="memitem:a617639e11e05ecba3d013d831578d19d" id="r_a617639e11e05ecba3d013d831578d19d"><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="#a617639e11e05ecba3d013d831578d19d">getBrokerConsumerStats</a> (<a class="el" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> &amp;brokerConsumerStats)</td></tr>
<tr class="memitem:a13515d5c407816afa06099663de17d7d" id="r_a13515d5c407816afa06099663de17d7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a13515d5c407816afa06099663de17d7d">getBrokerConsumerStatsAsync</a> (const BrokerConsumerStatsCallback &amp;callback)</td></tr>
<tr class="memitem:a45800c18df817caabe6cd9c21e7d72b3" id="r_a45800c18df817caabe6cd9c21e7d72b3"><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="#a45800c18df817caabe6cd9c21e7d72b3">seek</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId)</td></tr>
<tr class="memitem:ae6835e612b61795a13eff5fd2da85a0e" id="r_ae6835e612b61795a13eff5fd2da85a0e"><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="#ae6835e612b61795a13eff5fd2da85a0e">seek</a> (uint64_t timestamp)</td></tr>
<tr class="memitem:a2353c67cc423caefb35490278a07d339" id="r_a2353c67cc423caefb35490278a07d339"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2353c67cc423caefb35490278a07d339">seekAsync</a> (const <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:a80828a506f7150b68d2a27ebe7502b2f" id="r_a80828a506f7150b68d2a27ebe7502b2f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a80828a506f7150b68d2a27ebe7502b2f">seekAsync</a> (uint64_t timestamp, const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;callback)</td></tr>
<tr class="memitem:a95a69d39ec2c8714b6ffce0f6ab74a55" id="r_a95a69d39ec2c8714b6ffce0f6ab74a55"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a95a69d39ec2c8714b6ffce0f6ab74a55">isConnected</a> () const</td></tr>
<tr class="memitem:a637bd62a5d63ea06b3f1ddb976d1459c" id="r_a637bd62a5d63ea06b3f1ddb976d1459c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a637bd62a5d63ea06b3f1ddb976d1459c">getLastMessageIdAsync</a> (const GetLastMessageIdCallback &amp;callback)</td></tr>
<tr class="memitem:af60a7e87b76e5c69ee0e14f6ec902908" id="r_af60a7e87b76e5c69ee0e14f6ec902908"><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="#af60a7e87b76e5c69ee0e14f6ec902908">getLastMessageId</a> (<a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;messageId)</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>
<tr class="memitem:a6089ad7f42ef50ec4a9a4a906d0805d4" id="r_a6089ad7f42ef50ec4a9a4a906d0805d4"><td class="memItemLeft" align="right" valign="top"><a id="a6089ad7f42ef50ec4a9a4a906d0805d4" name="a6089ad7f42ef50ec4a9a4a906d0805d4"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>MultiTopicsConsumerImpl</b></td></tr>
<tr class="memitem:aa5d9751b961d8852b3209e522d06e898" id="r_aa5d9751b961d8852b3209e522d06e898"><td class="memItemLeft" align="right" valign="top"><a id="aa5d9751b961d8852b3209e522d06e898" name="aa5d9751b961d8852b3209e522d06e898"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>ConsumerImpl</b></td></tr>
<tr class="memitem:a23637ad877ca400a3039fbd27d25db4c" id="r_a23637ad877ca400a3039fbd27d25db4c"><td class="memItemLeft" align="right" valign="top"><a id="a23637ad877ca400a3039fbd27d25db4c" name="a23637ad877ca400a3039fbd27d25db4c"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>ClientImpl</b></td></tr>
<tr class="memitem:a3cbfa32ef4e23420bdbd42d1bcec334b" id="r_a3cbfa32ef4e23420bdbd42d1bcec334b"><td class="memItemLeft" align="right" valign="top"><a id="a3cbfa32ef4e23420bdbd42d1bcec334b" name="a3cbfa32ef4e23420bdbd42d1bcec334b"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>ConsumerTest</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="afe59503d5d5309f38d4e246bd9f435b4" name="afe59503d5d5309f38d4e246bd9f435b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe59503d5d5309f38d4e246bd9f435b4">&#9670;&#160;</a></span>Consumer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pulsar::Consumer::Consumer </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct an uninitialized consumer object </p>
</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="a3c3eb5056f228d281798f9ea75f52af9" name="a3c3eb5056f228d281798f9ea75f52af9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c3eb5056f228d281798f9ea75f52af9">&#9670;&#160;</a></span>acknowledge() <span class="overload">[1/3]</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::Consumer::acknowledge </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the reception of a single message.</p>
<p>This method will block until an acknowledgement is sent to the broker. After that, the message will not be re-delivered to this consumer.</p>
<dl class="section see"><dt>See also</dt><dd>asyncAcknowledge </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>the message to acknowledge </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if the message was successfully acknowledged </dd>
<dd>
ResultError if there was a failure </dd></dl>
</div>
</div>
<a id="aed10e043835e50d8129e6adecd91da72" name="aed10e043835e50d8129e6adecd91da72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed10e043835e50d8129e6adecd91da72">&#9670;&#160;</a></span>acknowledge() <span class="overload">[2/3]</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::Consumer::acknowledge </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>messageId</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the reception of a single message.</p>
<p>This method is blocked until an acknowledgement is sent to the broker. After that, the message is not re-delivered to the consumer.</p>
<dl class="section see"><dt>See also</dt><dd>asyncAcknowledge </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>the <a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> to acknowledge </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if the messageId is successfully acknowledged </dd></dl>
</div>
</div>
<a id="a57fd2c53a44ea53262742d90ff11e0fd" name="a57fd2c53a44ea53262742d90ff11e0fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57fd2c53a44ea53262742d90ff11e0fd">&#9670;&#160;</a></span>acknowledge() <span class="overload">[3/3]</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::Consumer::acknowledge </td>
<td>(</td>
<td class="paramtype">const MessageIdList &amp;</td> <td class="paramname"><span class="paramname"><em>messageIdList</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the consumption of a list of message. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageIdList</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a03898cea6e3f07684b78cb8d9c91741c" name="a03898cea6e3f07684b78cb8d9c91741c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03898cea6e3f07684b78cb8d9c91741c">&#9670;&#160;</a></span>acknowledgeAsync() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::acknowledgeAsync </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously acknowledge the reception of a single message.</p>
<p>This method will initiate the operation and return immediately. The provided callback will be triggered when the operation is complete.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>the message to acknowledge </td></tr>
<tr><td class="paramname">callback</td><td>callback that will be triggered when the message has been acknowledged </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5ce95d023c261c0df66ae867f46e6bf9" name="a5ce95d023c261c0df66ae867f46e6bf9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ce95d023c261c0df66ae867f46e6bf9">&#9670;&#160;</a></span>acknowledgeAsync() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::acknowledgeAsync </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>messageId</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously acknowledge the reception of a single message.</p>
<p>This method initiates the operation and returns the result immediately. The provided callback is triggered when the operation is completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>the messageId to acknowledge </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when the message has been acknowledged or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aeba1b5d159432bc9d72dba2e6be1b8ac" name="aeba1b5d159432bc9d72dba2e6be1b8ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeba1b5d159432bc9d72dba2e6be1b8ac">&#9670;&#160;</a></span>acknowledgeAsync() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::acknowledgeAsync </td>
<td>(</td>
<td class="paramtype">const MessageIdList &amp;</td> <td class="paramname"><span class="paramname"><em>messageIdList</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously acknowledge the consumption of a list of message. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageIdList</td><td></td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when the message has been acknowledged or not </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
</div>
</div>
<a id="a3eb0b0db2da0628da15d3f242e254f6d" name="a3eb0b0db2da0628da15d3f242e254f6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3eb0b0db2da0628da15d3f242e254f6d">&#9670;&#160;</a></span>acknowledgeCumulative() <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::Consumer::acknowledgeCumulative </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the reception of all the messages in the stream up to (and including) the provided message.</p>
<p>This method will block until an acknowledgement is sent to the broker. After that, the messages will not be re-delivered to this consumer.</p>
<p>Cumulative acknowledge cannot be used when the consumer type is set to ConsumerShared.</p>
<p>It's equivalent to calling asyncAcknowledgeCumulative(const Message&amp;, const ResultCallback&amp;) and waiting for the callback to be triggered.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>the last message in the stream to acknowledge </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if the message was successfully acknowledged. All previously delivered messages for this topic are also acknowledged. </dd>
<dd>
ResultError if there was a failure </dd></dl>
</div>
</div>
<a id="a79558de7435fd0b6ca0bde84f3061822" name="a79558de7435fd0b6ca0bde84f3061822"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79558de7435fd0b6ca0bde84f3061822">&#9670;&#160;</a></span>acknowledgeCumulative() <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::Consumer::acknowledgeCumulative </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>messageId</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the reception of all the messages in the stream up to (and including) the provided message.</p>
<p>This method is blocked until an acknowledgement is sent to the broker. After that, the message is not re-delivered to this consumer.</p>
<p>Cumulative acknowledge cannot be used when the consumer type is set to ConsumerShared.</p>
<p>It is equivalent to calling the asyncAcknowledgeCumulative(const Message&amp;, const ResultCallback&amp;) method and waiting for the callback to be triggered.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>the last messageId in the stream to acknowledge </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if the message is successfully acknowledged. All previously delivered messages for this topic are also acknowledged. </dd></dl>
</div>
</div>
<a id="a9595ca8b28b2986e0fca503af4d4a5d7" name="a9595ca8b28b2986e0fca503af4d4a5d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9595ca8b28b2986e0fca503af4d4a5d7">&#9670;&#160;</a></span>acknowledgeCumulativeAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::acknowledgeCumulativeAsync </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously acknowledge the reception of all the messages in the stream up to (and including) the provided message.</p>
<p>This method will initiate the operation and return immediately. The provided callback will be triggered when the operation is complete.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>the message to acknowledge </td></tr>
<tr><td class="paramname">callback</td><td>callback that will be triggered when the message has been acknowledged </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab02b777ce0286f4450a3429c4daed86d" name="ab02b777ce0286f4450a3429c4daed86d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab02b777ce0286f4450a3429c4daed86d">&#9670;&#160;</a></span>acknowledgeCumulativeAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::acknowledgeCumulativeAsync </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>messageId</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously acknowledge the reception of all the messages in the stream up to (and including) the provided message.</p>
<p>This method initiates the operation and returns the result immediately. The provided callback is triggered when the operation is completed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>the messageId to acknowledge </td></tr>
<tr><td class="paramname">callback</td><td>the callback that is triggered when the message has been acknowledged or not </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a49c846a386d778df94a1439982be5cbd" name="a49c846a386d778df94a1439982be5cbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49c846a386d778df94a1439982be5cbd">&#9670;&#160;</a></span>batchReceive()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Consumer::batchReceive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacepulsar.html#ac87806090d752fb2248e8da65727630a">Messages</a> &amp;</td> <td class="paramname"><span class="paramname"><em>msgs</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Batch receiving messages.</p>
<p>This calls blocks until has enough messages or wait timeout, more details to see <code><a class="el" href="classpulsar_1_1_batch_receive_policy.html">BatchReceivePolicy</a></code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msgs</td><td>a non-const reference where the received messages will be copied </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk when a message is received </dd>
<dd>
ResultInvalidConfiguration if a message listener had been set in the configuration </dd></dl>
</div>
</div>
<a id="ac13f007e453e3cc8ef36eb1dc43cb431" name="ac13f007e453e3cc8ef36eb1dc43cb431"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac13f007e453e3cc8ef36eb1dc43cb431">&#9670;&#160;</a></span>batchReceiveAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::batchReceiveAsync </td>
<td>(</td>
<td class="paramtype">const BatchReceiveCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Async Batch receiving messages. </p>
<p>Retrieves a message when it will be available and completes callback with received message. </p>
<p><a class="el" href="#ac13f007e453e3cc8ef36eb1dc43cb431">batchReceiveAsync()</a> should be called subsequently once callback gets completed with received message. Else it creates <em> backlog of receive requests </em> in the application. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">BatchReceiveCallback</td><td>will be completed when messages are available. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8b01803221c283e4df21715aeb024b84" name="a8b01803221c283e4df21715aeb024b84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b01803221c283e4df21715aeb024b84">&#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::Consumer::close </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Close the consumer and stop the broker to push more messages </p>
</div>
</div>
<a id="a58fd2875d7a3a4239c0b13e782ca55f8" name="a58fd2875d7a3a4239c0b13e782ca55f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58fd2875d7a3a4239c0b13e782ca55f8">&#9670;&#160;</a></span>closeAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::closeAsync </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &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 consumer and stop the broker to push more messages </p>
</div>
</div>
<a id="a617639e11e05ecba3d013d831578d19d" name="a617639e11e05ecba3d013d831578d19d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a617639e11e05ecba3d013d831578d19d">&#9670;&#160;</a></span>getBrokerConsumerStats()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Consumer::getBrokerConsumerStats </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_broker_consumer_stats.html">BrokerConsumerStats</a> &amp;</td> <td class="paramname"><span class="paramname"><em>brokerConsumerStats</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> Stats from broker. The stats are cached for 30 seconds, if a call is made before the stats returned by the previous call expires then cached data will be returned. <a class="el" href="classpulsar_1_1_broker_consumer_stats.html#a6ab876378e9c76098bd48ee9753faec0">BrokerConsumerStats::isValid()</a> function can be used to check if the stats are still valid.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">brokerConsumerStats</td><td>- if the function returns ResultOk, this object will contain consumer stats</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This is a blocking call with timeout of thirty seconds. </dd></dl>
</div>
</div>
<a id="a13515d5c407816afa06099663de17d7d" name="a13515d5c407816afa06099663de17d7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13515d5c407816afa06099663de17d7d">&#9670;&#160;</a></span>getBrokerConsumerStatsAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::getBrokerConsumerStatsAsync </td>
<td>(</td>
<td class="paramtype">const BrokerConsumerStatsCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronous call to gets <a class="el" href="classpulsar_1_1_consumer.html">Consumer</a> Stats from broker. The stats are cached for 30 seconds, if a call is made before the stats returned by the previous call expires then cached data will be returned. <a class="el" href="classpulsar_1_1_broker_consumer_stats.html#a6ab876378e9c76098bd48ee9753faec0">BrokerConsumerStats::isValid()</a> function can be used to check if the stats are still valid.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>- callback function to get the brokerConsumerStats, if result is ResultOk then the brokerConsumerStats will be populated </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a83f58a6118a693398c16e70cecac0303" name="a83f58a6118a693398c16e70cecac0303"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83f58a6118a693398c16e70cecac0303">&#9670;&#160;</a></span>getConsumerName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string &amp; pulsar::Consumer::getConsumerName </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the consumer name </dd></dl>
</div>
</div>
<a id="af60a7e87b76e5c69ee0e14f6ec902908" name="af60a7e87b76e5c69ee0e14f6ec902908"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af60a7e87b76e5c69ee0e14f6ec902908">&#9670;&#160;</a></span>getLastMessageId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Consumer::getLastMessageId </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_message_id.html">MessageId</a> &amp;</td> <td class="paramname"><span class="paramname"><em>messageId</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an ID of the last available message or a message ID with -1 as an entryId if the topic is empty. </p>
</div>
</div>
<a id="a637bd62a5d63ea06b3f1ddb976d1459c" name="a637bd62a5d63ea06b3f1ddb976d1459c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a637bd62a5d63ea06b3f1ddb976d1459c">&#9670;&#160;</a></span>getLastMessageIdAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::getLastMessageIdAsync </td>
<td>(</td>
<td class="paramtype">const GetLastMessageIdCallback &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 get an ID of the last available message or a message ID with -1 as an entryId if the topic is empty. </p>
</div>
</div>
<a id="af6049caaf3e1f8bc91d4dc52b02ab7d1" name="af6049caaf3e1f8bc91d4dc52b02ab7d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6049caaf3e1f8bc91d4dc52b02ab7d1">&#9670;&#160;</a></span>getSubscriptionName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string &amp; pulsar::Consumer::getSubscriptionName </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the subscription name </dd></dl>
</div>
</div>
<a id="ad55d95cd75501562d8ae6d83935d5977" name="ad55d95cd75501562d8ae6d83935d5977"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad55d95cd75501562d8ae6d83935d5977">&#9670;&#160;</a></span>getTopic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string &amp; pulsar::Consumer::getTopic </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the topic this consumer is subscribed to </dd></dl>
</div>
</div>
<a id="a95a69d39ec2c8714b6ffce0f6ab74a55" name="a95a69d39ec2c8714b6ffce0f6ab74a55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95a69d39ec2c8714b6ffce0f6ab74a55">&#9670;&#160;</a></span>isConnected()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool pulsar::Consumer::isConnected </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Whether the consumer is currently connected to the broker </dd></dl>
</div>
</div>
<a id="a3cd227d9be2ae090c3a55bcdfff1df69" name="a3cd227d9be2ae090c3a55bcdfff1df69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cd227d9be2ae090c3a55bcdfff1df69">&#9670;&#160;</a></span>negativeAcknowledge() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::negativeAcknowledge </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>message</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the failure to process a single message. </p>
<p>When a message is "negatively acked" it will be marked for redelivery after some fixed delay. The delay is configurable when constructing the consumer with <code><a class="el" href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">ConsumerConfiguration#setNegativeAckRedeliveryDelayMs</a></code>. </p>
<p>This call is not blocking.</p>
<p>Example of usage: </p><pre><code>
while (true) {
<a class="el" href="classpulsar_1_1_message.html">Message</a> msg;
consumer.receive(msg);
try {
// Process message...
consumer.acknowledge(msg);
} catch (Throwable t) {
log.warn("Failed to process message");
consumer.negativeAcknowledge(msg);
}
}
</code></pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>The <code class="JavaDocCode">Message</code> to be acknowledged </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afd631d1c357bc0284afe3e0cd2acbd6e" name="afd631d1c357bc0284afe3e0cd2acbd6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd631d1c357bc0284afe3e0cd2acbd6e">&#9670;&#160;</a></span>negativeAcknowledge() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::negativeAcknowledge </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>messageId</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acknowledge the failure to process a single message. </p>
<p>When a message is "negatively acked" it will be marked for redelivery after some fixed delay. The delay is configurable when constructing the consumer with <code><a class="el" href="classpulsar_1_1_consumer_configuration.html#aef99f71cd13324351864dd1e376d8788">ConsumerConfiguration#setNegativeAckRedeliveryDelayMs</a></code>. </p>
<p>This call is not blocking.</p>
<p>Example of usage: </p><pre><code>
while (true) {
<a class="el" href="classpulsar_1_1_message.html">Message</a> msg;
consumer.receive(msg);
try {
// Process message...
consumer.acknowledge(msg);
} catch (Throwable t) {
log.warn("Failed to process message");
consumer.negativeAcknowledge(msg);
}
}
</code></pre><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>The <code class="JavaDocCode">MessageId</code> to be acknowledged </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7370b7a19a08fdff5b044e74ad8bd679" name="a7370b7a19a08fdff5b044e74ad8bd679"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7370b7a19a08fdff5b044e74ad8bd679">&#9670;&#160;</a></span>pauseMessageListener()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Consumer::pauseMessageListener </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Pause receiving messages via the messageListener, till <a class="el" href="#a02a9a412f1aa7f1ec8dc0c0134315b66">resumeMessageListener()</a> is called. </p>
</div>
</div>
<a id="abc8cec6e81c582c6af8e3d931e41a2ad" name="abc8cec6e81c582c6af8e3d931e41a2ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc8cec6e81c582c6af8e3d931e41a2ad">&#9670;&#160;</a></span>receive() <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::Consumer::receive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>msg</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive a single message.</p>
<p>If a message is not immediately available, this method will block until a new message is available.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>a non-const reference where the received message will be copied </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk when a message is received </dd>
<dd>
ResultInvalidConfiguration if a message listener had been set in the configuration </dd></dl>
</div>
</div>
<a id="ace9475b70f37c91df5b442f41058370e" name="ace9475b70f37c91df5b442f41058370e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace9475b70f37c91df5b442f41058370e">&#9670;&#160;</a></span>receive() <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::Consumer::receive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classpulsar_1_1_message.html">Message</a> &amp;</td> <td class="paramname"><span class="paramname"><em>msg</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>timeoutMs</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>a non-const reference where the received message will be copied </td></tr>
<tr><td class="paramname">timeoutMs</td><td>the receive timeout in milliseconds </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ResultOk if a message was received </dd>
<dd>
ResultTimeout if the receive timeout was triggered </dd>
<dd>
ResultInvalidConfiguration if a message listener had been set in the configuration </dd></dl>
</div>
</div>
<a id="a99703b58b62320701220041473f6a268" name="a99703b58b62320701220041473f6a268"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99703b58b62320701220041473f6a268">&#9670;&#160;</a></span>receiveAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::receiveAsync </td>
<td>(</td>
<td class="paramtype">const ReceiveCallback &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Receive a single message </p>
<p>Retrieves a message when it will be available and completes callback with received message. </p>
<p><a class="el" href="#a99703b58b62320701220041473f6a268">receiveAsync()</a> should be called subsequently once callback gets completed with received message. Else it creates <em> backlog of receive requests </em> in the application. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ReceiveCallback</td><td>will be completed when message is available </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3d60ee12b0e9766d60c3a8e08a61287a" name="a3d60ee12b0e9766d60c3a8e08a61287a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d60ee12b0e9766d60c3a8e08a61287a">&#9670;&#160;</a></span>redeliverUnacknowledgedMessages()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::redeliverUnacknowledgedMessages </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Redelivers all the unacknowledged messages. In Failover mode, the request is ignored if the consumer is not active for the given topic. In Shared mode, the consumers messages to be redelivered are distributed across all the connected consumers. This is a non blocking call and doesn't throw an exception. In case the connection breaks, the messages are redelivered after reconnect. </p>
</div>
</div>
<a id="a02a9a412f1aa7f1ec8dc0c0134315b66" name="a02a9a412f1aa7f1ec8dc0c0134315b66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02a9a412f1aa7f1ec8dc0c0134315b66">&#9670;&#160;</a></span>resumeMessageListener()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Consumer::resumeMessageListener </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Resume receiving the messages via the messageListener. Asynchronously receive all the messages enqueued from time <a class="el" href="#a7370b7a19a08fdff5b044e74ad8bd679">pauseMessageListener()</a> was called. </p>
</div>
</div>
<a id="a45800c18df817caabe6cd9c21e7d72b3" name="a45800c18df817caabe6cd9c21e7d72b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45800c18df817caabe6cd9c21e7d72b3">&#9670;&#160;</a></span>seek() <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::Consumer::seek </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>messageId</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the subscription associated with this consumer to a specific message id. The message id can either be a specific message or represent the first or last messages in the topic.</p>
<p>Note: this operation can only be done on non-partitioned topics. For these, one can rather perform the <a class="el" href="#a45800c18df817caabe6cd9c21e7d72b3">seek()</a> on the individual partitions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>the message id where to reposition the subscription </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae6835e612b61795a13eff5fd2da85a0e" name="ae6835e612b61795a13eff5fd2da85a0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6835e612b61795a13eff5fd2da85a0e">&#9670;&#160;</a></span>seek() <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::Consumer::seek </td>
<td>(</td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>timestamp</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the subscription associated with this consumer to a specific message publish time.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timestamp</td><td>the message publish time where to reposition the subscription </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2353c67cc423caefb35490278a07d339" name="a2353c67cc423caefb35490278a07d339"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2353c67cc423caefb35490278a07d339">&#9670;&#160;</a></span>seekAsync() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void pulsar::Consumer::seekAsync </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>messageId</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously reset the subscription associated with this consumer to a specific message id. The message id can either be a specific message or represent the first or last messages in the topic.</p>
<p>Note: this operation can only be done on non-partitioned topics. For these, one can rather perform the <a class="el" href="#a45800c18df817caabe6cd9c21e7d72b3">seek()</a> on the individual partitions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">messageId</td><td>the message id where to reposition the subscription </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a80828a506f7150b68d2a27ebe7502b2f" name="a80828a506f7150b68d2a27ebe7502b2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80828a506f7150b68d2a27ebe7502b2f">&#9670;&#160;</a></span>seekAsync() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void pulsar::Consumer::seekAsync </td>
<td>(</td>
<td class="paramtype">uint64_t</td> <td class="paramname"><span class="paramname"><em>timestamp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>callback</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel virtual">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Asynchronously reset the subscription associated with this consumer to a specific message publish time.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">timestamp</td><td>the message publish time where to reposition the subscription </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a542ca0a9473a03ccf8bd8aeed24de490" name="a542ca0a9473a03ccf8bd8aeed24de490"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a542ca0a9473a03ccf8bd8aeed24de490">&#9670;&#160;</a></span>unsubscribe()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079">Result</a> pulsar::Consumer::unsubscribe </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unsubscribe the current consumer from the topic.</p>
<p>This method will block until the operation is completed. Once the consumer is unsubscribed, no more messages will be received and subsequent new messages will not be retained for this consumer.</p>
<p>This consumer object cannot be reused.</p>
<dl class="section see"><dt>See also</dt><dd>asyncUnsubscribe </dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="namespacepulsar.html#a23832680be30b95d54755b56310e9079a0aac5dae08c453e94161e28d7cd5a92f" title="An internal error code used for retry.">Result::ResultOk</a> if the unsubscribe operation completed successfully </dd>
<dd>
Result::ResultError if the unsubscribe operation failed </dd></dl>
</div>
</div>
<a id="a2a3a5c0ca53537d6c2aeecbc9d850e6a" name="a2a3a5c0ca53537d6c2aeecbc9d850e6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a3a5c0ca53537d6c2aeecbc9d850e6a">&#9670;&#160;</a></span>unsubscribeAsync()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void pulsar::Consumer::unsubscribeAsync </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacepulsar.html#ae5bf6401bfa8e3962e5c8f9fa2efbf4d">ResultCallback</a> &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 unsubscribe the current consumer from the topic.</p>
<p>This method will block until the operation is completed. Once the consumer is unsubscribed, no more messages will be received and subsequent new messages will not be retained for this consumer.</p>
<p>This consumer object cannot be reused.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>the callback to get notified when the operation is complete </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/pulsar/<a class="el" href="_consumer_8h_source.html">Consumer.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>