Files
rippled/classripple_1_1ConsensusProposal.html
2022-08-26 20:04:15 +00:00

874 lines
53 KiB
HTML

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: ripple::ConsensusProposal&lt; NodeID_t, LedgerID_t, Position_t &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_1ConsensusProposal.html">ConsensusProposal</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classripple_1_1ConsensusProposal-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ripple::ConsensusProposal&lt; NodeID_t, LedgerID_t, Position_t &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Represents a proposed position taken during a round of consensus.
<a href="classripple_1_1ConsensusProposal.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for ripple::ConsensusProposal&lt; NodeID_t, LedgerID_t, Position_t &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1ConsensusProposal__coll__graph.png" border="0" usemap="#ripple_1_1ConsensusProposal_3_01NodeID__t_00_01LedgerID__t_00_01Position__t_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="ripple_1_1ConsensusProposal_3_01NodeID__t_00_01LedgerID__t_00_01Position__t_01_4_coll__map" id="ripple_1_1ConsensusProposal_3_01NodeID__t_00_01LedgerID__t_00_01Position__t_01_4_coll__map">
<area shape="rect" title="Represents a proposed position taken during a round of consensus." alt="" coords="317,59,511,115"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="40,15,143,41"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="14,66,169,107"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/chrono/time_point.html" title=" " alt="" coords="5,131,177,173"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a8aa8f75fd852edae88d109313c96de4d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a8aa8f75fd852edae88d109313c96de4d">NodeID</a> = NodeID_t</td></tr>
<tr class="separator:a8aa8f75fd852edae88d109313c96de4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a262f4ce808b8013b708c573a34e8124e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a262f4ce808b8013b708c573a34e8124e">ConsensusProposal</a> (LedgerID_t const &amp;<a class="el" href="classripple_1_1ConsensusProposal.html#a8491263073f4b5f4f83584a60c96aee7">prevLedger</a>, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> seq, Position_t const &amp;<a class="el" href="classripple_1_1ConsensusProposal.html#ae6f557d43e5d720f9094194900d91f66">position</a>, <a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> <a class="el" href="classripple_1_1ConsensusProposal.html#ae67cab863fe8ad4fb82a6a558b15844e">closeTime</a>, <a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> now, NodeID_t const &amp;<a class="el" href="classripple_1_1ConsensusProposal.html#ad60bb068af7c1a4aeb9e3f27761d1afa">nodeID</a>)</td></tr>
<tr class="memdesc:a262f4ce808b8013b708c573a34e8124e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classripple_1_1ConsensusProposal.html#a262f4ce808b8013b708c573a34e8124e">More...</a><br /></td></tr>
<tr class="separator:a262f4ce808b8013b708c573a34e8124e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad60bb068af7c1a4aeb9e3f27761d1afa"><td class="memItemLeft" align="right" valign="top">NodeID_t const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#ad60bb068af7c1a4aeb9e3f27761d1afa">nodeID</a> () const</td></tr>
<tr class="memdesc:ad60bb068af7c1a4aeb9e3f27761d1afa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identifying which peer took this position. <a href="classripple_1_1ConsensusProposal.html#ad60bb068af7c1a4aeb9e3f27761d1afa">More...</a><br /></td></tr>
<tr class="separator:ad60bb068af7c1a4aeb9e3f27761d1afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f557d43e5d720f9094194900d91f66"><td class="memItemLeft" align="right" valign="top">Position_t const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#ae6f557d43e5d720f9094194900d91f66">position</a> () const</td></tr>
<tr class="memdesc:ae6f557d43e5d720f9094194900d91f66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the proposed position. <a href="classripple_1_1ConsensusProposal.html#ae6f557d43e5d720f9094194900d91f66">More...</a><br /></td></tr>
<tr class="separator:ae6f557d43e5d720f9094194900d91f66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8491263073f4b5f4f83584a60c96aee7"><td class="memItemLeft" align="right" valign="top">LedgerID_t const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a8491263073f4b5f4f83584a60c96aee7">prevLedger</a> () const</td></tr>
<tr class="memdesc:a8491263073f4b5f4f83584a60c96aee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the prior accepted ledger this position is based on. <a href="classripple_1_1ConsensusProposal.html#a8491263073f4b5f4f83584a60c96aee7">More...</a><br /></td></tr>
<tr class="separator:a8491263073f4b5f4f83584a60c96aee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad1cb7d0dc62fcec8ab135e28c4e9606"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#aad1cb7d0dc62fcec8ab135e28c4e9606">proposeSeq</a> () const</td></tr>
<tr class="memdesc:aad1cb7d0dc62fcec8ab135e28c4e9606"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sequence number of this proposal. <a href="classripple_1_1ConsensusProposal.html#aad1cb7d0dc62fcec8ab135e28c4e9606">More...</a><br /></td></tr>
<tr class="separator:aad1cb7d0dc62fcec8ab135e28c4e9606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae67cab863fe8ad4fb82a6a558b15844e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#ae67cab863fe8ad4fb82a6a558b15844e">closeTime</a> () const</td></tr>
<tr class="memdesc:ae67cab863fe8ad4fb82a6a558b15844e"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current position on the consensus close time. <a href="classripple_1_1ConsensusProposal.html#ae67cab863fe8ad4fb82a6a558b15844e">More...</a><br /></td></tr>
<tr class="separator:ae67cab863fe8ad4fb82a6a558b15844e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fd168d38a353460bcb2425f7218922e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a2fd168d38a353460bcb2425f7218922e">seenTime</a> () const</td></tr>
<tr class="memdesc:a2fd168d38a353460bcb2425f7218922e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get when this position was taken. <a href="classripple_1_1ConsensusProposal.html#a2fd168d38a353460bcb2425f7218922e">More...</a><br /></td></tr>
<tr class="separator:a2fd168d38a353460bcb2425f7218922e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd1d7ba3a4ff27d8a2b8712ddd7a306e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#afd1d7ba3a4ff27d8a2b8712ddd7a306e">isInitial</a> () const</td></tr>
<tr class="memdesc:afd1d7ba3a4ff27d8a2b8712ddd7a306e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether this is the first position taken during the current consensus round. <a href="classripple_1_1ConsensusProposal.html#afd1d7ba3a4ff27d8a2b8712ddd7a306e">More...</a><br /></td></tr>
<tr class="separator:afd1d7ba3a4ff27d8a2b8712ddd7a306e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b7c39cd60f61c4e424085f4eefe73f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a2b7c39cd60f61c4e424085f4eefe73f5">isBowOut</a> () const</td></tr>
<tr class="memdesc:a2b7c39cd60f61c4e424085f4eefe73f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get whether this node left the consensus process. <a href="classripple_1_1ConsensusProposal.html#a2b7c39cd60f61c4e424085f4eefe73f5">More...</a><br /></td></tr>
<tr class="separator:a2b7c39cd60f61c4e424085f4eefe73f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa96c9a25fdbb65b10dd0d73c5ac92526"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#aa96c9a25fdbb65b10dd0d73c5ac92526">isStale</a> (<a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> cutoff) const</td></tr>
<tr class="memdesc:aa96c9a25fdbb65b10dd0d73c5ac92526"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get whether this position is stale relative to the provided cutoff. <a href="classripple_1_1ConsensusProposal.html#aa96c9a25fdbb65b10dd0d73c5ac92526">More...</a><br /></td></tr>
<tr class="separator:aa96c9a25fdbb65b10dd0d73c5ac92526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0db41af6895dc85c6b5fcf76e9f93237"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a0db41af6895dc85c6b5fcf76e9f93237">changePosition</a> (Position_t const &amp;newPosition, <a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> newCloseTime, <a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> now)</td></tr>
<tr class="memdesc:a0db41af6895dc85c6b5fcf76e9f93237"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the position during the consensus process. <a href="classripple_1_1ConsensusProposal.html#a0db41af6895dc85c6b5fcf76e9f93237">More...</a><br /></td></tr>
<tr class="separator:a0db41af6895dc85c6b5fcf76e9f93237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d279f2fd7f378e66f151870d1171f75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a7d279f2fd7f378e66f151870d1171f75">bowOut</a> (<a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> now)</td></tr>
<tr class="memdesc:a7d279f2fd7f378e66f151870d1171f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Leave consensus. <a href="classripple_1_1ConsensusProposal.html#a7d279f2fd7f378e66f151870d1171f75">More...</a><br /></td></tr>
<tr class="separator:a7d279f2fd7f378e66f151870d1171f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a799315c246e228ac703759505d8997d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classJson_1_1Value.html">Json::Value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a799315c246e228ac703759505d8997d8">getJson</a> () const</td></tr>
<tr class="memdesc:a799315c246e228ac703759505d8997d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get JSON representation for debugging. <a href="classripple_1_1ConsensusProposal.html#a799315c246e228ac703759505d8997d8">More...</a><br /></td></tr>
<tr class="separator:a799315c246e228ac703759505d8997d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5df2e264785c5310dba333549fb5ec2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#af5df2e264785c5310dba333549fb5ec2">signingHash</a> () const</td></tr>
<tr class="memdesc:af5df2e264785c5310dba333549fb5ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">The digest for this proposal, used for signing purposes. <a href="classripple_1_1ConsensusProposal.html#af5df2e264785c5310dba333549fb5ec2">More...</a><br /></td></tr>
<tr class="separator:af5df2e264785c5310dba333549fb5ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ab811b62e9290b5aa39c7dfc2b11dbe40"><td class="memItemLeft" align="right" valign="top">static const <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#ab811b62e9290b5aa39c7dfc2b11dbe40">seqJoin</a> = 0</td></tr>
<tr class="separator:ab811b62e9290b5aa39c7dfc2b11dbe40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961d5c5610d80dd0de6d0717c679955f"><td class="memItemLeft" align="right" valign="top">static const <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a961d5c5610d80dd0de6d0717c679955f">seqLeave</a> = 0xffffffff</td></tr>
<tr class="separator:a961d5c5610d80dd0de6d0717c679955f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a742fc2338165bbd58af3af6c7f59c201"><td class="memItemLeft" align="right" valign="top">LedgerID_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a742fc2338165bbd58af3af6c7f59c201">previousLedger_</a></td></tr>
<tr class="memdesc:a742fc2338165bbd58af3af6c7f59c201"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique identifier of prior ledger this proposal is based on. <a href="classripple_1_1ConsensusProposal.html#a742fc2338165bbd58af3af6c7f59c201">More...</a><br /></td></tr>
<tr class="separator:a742fc2338165bbd58af3af6c7f59c201"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a860f0abb9aef8bd8bea69e67e4d33c02"><td class="memItemLeft" align="right" valign="top">Position_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a860f0abb9aef8bd8bea69e67e4d33c02">position_</a></td></tr>
<tr class="memdesc:a860f0abb9aef8bd8bea69e67e4d33c02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique identifier of the position this proposal is taking. <a href="classripple_1_1ConsensusProposal.html#a860f0abb9aef8bd8bea69e67e4d33c02">More...</a><br /></td></tr>
<tr class="separator:a860f0abb9aef8bd8bea69e67e4d33c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e8914cd894504750d7a028379070d1b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a2e8914cd894504750d7a028379070d1b">closeTime_</a></td></tr>
<tr class="memdesc:a2e8914cd894504750d7a028379070d1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The ledger close time this position is taking. <a href="classripple_1_1ConsensusProposal.html#a2e8914cd894504750d7a028379070d1b">More...</a><br /></td></tr>
<tr class="separator:a2e8914cd894504750d7a028379070d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a293a19eb7078770dad6340be1e3b4153"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a293a19eb7078770dad6340be1e3b4153">time_</a></td></tr>
<tr class="separator:a293a19eb7078770dad6340be1e3b4153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4deadd017bafaa3ea45a1a441080ae7c"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a4deadd017bafaa3ea45a1a441080ae7c">proposeSeq_</a></td></tr>
<tr class="memdesc:a4deadd017bafaa3ea45a1a441080ae7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The sequence number of these positions taken by this node. <a href="classripple_1_1ConsensusProposal.html#a4deadd017bafaa3ea45a1a441080ae7c">More...</a><br /></td></tr>
<tr class="separator:a4deadd017bafaa3ea45a1a441080ae7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85ae5e886165b6dcb4cc60deb3dae2ef"><td class="memItemLeft" align="right" valign="top">NodeID_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a85ae5e886165b6dcb4cc60deb3dae2ef">nodeID_</a></td></tr>
<tr class="memdesc:a85ae5e886165b6dcb4cc60deb3dae2ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">The identifier of the node taking this position. <a href="classripple_1_1ConsensusProposal.html#a85ae5e886165b6dcb4cc60deb3dae2ef">More...</a><br /></td></tr>
<tr class="separator:a85ae5e886165b6dcb4cc60deb3dae2ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59392a6dd8f11f23ed3978458f54be31"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>&lt; <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a59392a6dd8f11f23ed3978458f54be31">signingHash_</a></td></tr>
<tr class="memdesc:a59392a6dd8f11f23ed3978458f54be31"><td class="mdescLeft">&#160;</td><td class="mdescRight">The signing hash for this proposal. <a href="classripple_1_1ConsensusProposal.html#a59392a6dd8f11f23ed3978458f54be31">More...</a><br /></td></tr>
<tr class="separator:a59392a6dd8f11f23ed3978458f54be31"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class NodeID_t, class LedgerID_t, class Position_t&gt;<br />
class ripple::ConsensusProposal&lt; NodeID_t, LedgerID_t, Position_t &gt;</h3>
<p>Represents a proposed position taken during a round of consensus. </p>
<p>During consensus, peers seek agreement on a set of transactions to apply to the prior ledger to generate the next ledger. Each peer takes a position on whether to include or exclude potential transactions. The position on the set of transactions is proposed to its peers as an instance of the <a class="el" href="classripple_1_1ConsensusProposal.html" title="Represents a proposed position taken during a round of consensus.">ConsensusProposal</a> class.</p>
<p>An instance of <a class="el" href="classripple_1_1ConsensusProposal.html" title="Represents a proposed position taken during a round of consensus.">ConsensusProposal</a> can be either our own proposal or one of our peer's.</p>
<p>As consensus proceeds, peers may change their position on the transaction, or choose to abstain. Each successive proposal includes a strictly monotonically increasing number (or, if a peer is choosing to abstain, the special value <code>seqLeave</code>).</p>
<p>Refer to <a class="el" href="classripple_1_1Consensus.html">Consensus</a> for requirements of the template arguments.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">NodeID_t</td><td>Type used to uniquely identify nodes/peers </td></tr>
<tr><td class="paramname">LedgerID_t</td><td>Type used to uniquely identify ledgers </td></tr>
<tr><td class="paramname">Position_t</td><td>Type used to represent the position taken on transactions under consideration during this round of consensus </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00055">55</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a8aa8f75fd852edae88d109313c96de4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8aa8f75fd852edae88d109313c96de4d">&#9670;&nbsp;</a></span>NodeID</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::<a class="el" href="classripple_1_1ConsensusProposal.html#a8aa8f75fd852edae88d109313c96de4d">NodeID</a> = NodeID_t</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00058">58</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a262f4ce808b8013b708c573a34e8124e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a262f4ce808b8013b708c573a34e8124e">&#9670;&nbsp;</a></span>ConsensusProposal()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::<a class="el" href="classripple_1_1ConsensusProposal.html">ConsensusProposal</a> </td>
<td>(</td>
<td class="paramtype">LedgerID_t const &amp;&#160;</td>
<td class="paramname"><em>prevLedger</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a>&#160;</td>
<td class="paramname"><em>seq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Position_t const &amp;&#160;</td>
<td class="paramname"><em>position</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td>
<td class="paramname"><em>closeTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td>
<td class="paramname"><em>now</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">NodeID_t const &amp;&#160;</td>
<td class="paramname"><em>nodeID</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">prevLedger</td><td>The previous ledger this proposal is building on. </td></tr>
<tr><td class="paramname">seq</td><td>The sequence number of this proposal. </td></tr>
<tr><td class="paramname">position</td><td>The position taken on transactions in this round. </td></tr>
<tr><td class="paramname">closeTime</td><td>Position of when this ledger closed. </td></tr>
<tr><td class="paramname">now</td><td>Time when the proposal was taken. </td></tr>
<tr><td class="paramname">nodeID</td><td>ID of node/peer taking this position. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00075">75</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad60bb068af7c1a4aeb9e3f27761d1afa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad60bb068af7c1a4aeb9e3f27761d1afa">&#9670;&nbsp;</a></span>nodeID()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">NodeID_t const&amp; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::nodeID </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Identifying which peer took this position. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00093">93</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="ae6f557d43e5d720f9094194900d91f66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6f557d43e5d720f9094194900d91f66">&#9670;&nbsp;</a></span>position()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">Position_t const&amp; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::position </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the proposed position. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00100">100</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a8491263073f4b5f4f83584a60c96aee7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8491263073f4b5f4f83584a60c96aee7">&#9670;&nbsp;</a></span>prevLedger()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">LedgerID_t const&amp; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::prevLedger </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the prior accepted ledger this position is based on. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00107">107</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="aad1cb7d0dc62fcec8ab135e28c4e9606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad1cb7d0dc62fcec8ab135e28c4e9606">&#9670;&nbsp;</a></span>proposeSeq()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::proposeSeq </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the sequence number of this proposal. </p>
<p>Starting with an initial sequence number of <code>seqJoin</code>, successive proposals from a peer will increase the sequence number.</p>
<dl class="section return"><dt>Returns</dt><dd>the sequence number </dd></dl>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00120">120</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="ae67cab863fe8ad4fb82a6a558b15844e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae67cab863fe8ad4fb82a6a558b15844e">&#9670;&nbsp;</a></span>closeTime()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> const&amp; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::closeTime </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The current position on the consensus close time. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00127">127</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a2fd168d38a353460bcb2425f7218922e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fd168d38a353460bcb2425f7218922e">&#9670;&nbsp;</a></span>seenTime()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> const&amp; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::seenTime </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get when this position was taken. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00134">134</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="afd1d7ba3a4ff27d8a2b8712ddd7a306e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd1d7ba3a4ff27d8a2b8712ddd7a306e">&#9670;&nbsp;</a></span>isInitial()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::isInitial </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether this is the first position taken during the current consensus round. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00143">143</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a2b7c39cd60f61c4e424085f4eefe73f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b7c39cd60f61c4e424085f4eefe73f5">&#9670;&nbsp;</a></span>isBowOut()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::isBowOut </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get whether this node left the consensus process. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00150">150</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="aa96c9a25fdbb65b10dd0d73c5ac92526"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa96c9a25fdbb65b10dd0d73c5ac92526">&#9670;&nbsp;</a></span>isStale()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::isStale </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td>
<td class="paramname"><em>cutoff</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get whether this position is stale relative to the provided cutoff. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00157">157</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a0db41af6895dc85c6b5fcf76e9f93237"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0db41af6895dc85c6b5fcf76e9f93237">&#9670;&nbsp;</a></span>changePosition()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::changePosition </td>
<td>(</td>
<td class="paramtype">Position_t const &amp;&#160;</td>
<td class="paramname"><em>newPosition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td>
<td class="paramname"><em>newCloseTime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td>
<td class="paramname"><em>now</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the position during the consensus process. </p>
<p>This will increment the proposal's sequence number if it has not already bowed out.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">newPosition</td><td>The new position taken. </td></tr>
<tr><td class="paramname">newCloseTime</td><td>The new close time. </td></tr>
<tr><td class="paramname">now</td><td>the time The new position was taken </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00170">170</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a7d279f2fd7f378e66f151870d1171f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d279f2fd7f378e66f151870d1171f75">&#9670;&nbsp;</a></span>bowOut()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::bowOut </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a>&#160;</td>
<td class="paramname"><em>now</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Leave consensus. </p>
<p>Update position to indicate the node left consensus.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">now</td><td>Time when this node left consensus. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00190">190</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a799315c246e228ac703759505d8997d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a799315c246e228ac703759505d8997d8">&#9670;&nbsp;</a></span>getJson()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classJson_1_1Value.html">Json::Value</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::getJson </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get JSON representation for debugging. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00199">199</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="af5df2e264785c5310dba333549fb5ec2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5df2e264785c5310dba333549fb5ec2">&#9670;&nbsp;</a></span>signingHash()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const&amp; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::signingHash </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>The digest for this proposal, used for signing purposes. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00220">220</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab811b62e9290b5aa39c7dfc2b11dbe40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab811b62e9290b5aa39c7dfc2b11dbe40">&#9670;&nbsp;</a></span>seqJoin</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::seqJoin = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00061">61</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a961d5c5610d80dd0de6d0717c679955f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a961d5c5610d80dd0de6d0717c679955f">&#9670;&nbsp;</a></span>seqLeave</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::seqLeave = 0xffffffff</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00064">64</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a742fc2338165bbd58af3af6c7f59c201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742fc2338165bbd58af3af6c7f59c201">&#9670;&nbsp;</a></span>previousLedger_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">LedgerID_t <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::previousLedger_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Unique identifier of prior ledger this proposal is based on. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00237">237</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a860f0abb9aef8bd8bea69e67e4d33c02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a860f0abb9aef8bd8bea69e67e4d33c02">&#9670;&nbsp;</a></span>position_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Position_t <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::position_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Unique identifier of the position this proposal is taking. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00240">240</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a2e8914cd894504750d7a028379070d1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e8914cd894504750d7a028379070d1b">&#9670;&nbsp;</a></span>closeTime_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::closeTime_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The ledger close time this position is taking. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00243">243</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a293a19eb7078770dad6340be1e3b4153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a293a19eb7078770dad6340be1e3b4153">&#9670;&nbsp;</a></span>time_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::time_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00246">246</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a4deadd017bafaa3ea45a1a441080ae7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4deadd017bafaa3ea45a1a441080ae7c">&#9670;&nbsp;</a></span>proposeSeq_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::proposeSeq_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The sequence number of these positions taken by this node. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00249">249</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a85ae5e886165b6dcb4cc60deb3dae2ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85ae5e886165b6dcb4cc60deb3dae2ef">&#9670;&nbsp;</a></span>nodeID_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">NodeID_t <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::nodeID_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The identifier of the node taking this position. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00252">252</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
<a id="a59392a6dd8f11f23ed3978458f54be31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59392a6dd8f11f23ed3978458f54be31">&#9670;&nbsp;</a></span>signingHash_</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class NodeID_t , class LedgerID_t , class Position_t &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>&lt;<a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a>&gt; <a class="el" href="classripple_1_1ConsensusProposal.html">ripple::ConsensusProposal</a>&lt; NodeID_t, LedgerID_t, Position_t &gt;::signingHash_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The signing hash for this proposal. </p>
<p class="definition">Definition at line <a class="el" href="ConsensusProposal_8h_source.html#l00255">255</a> of file <a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>