Files
rippled/classripple_1_1ConsensusProposal.html
2025-01-21 19:58:08 +00:00

879 lines
54 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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>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 id="projectrow">
<td id="projectalign">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="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>
<p><code>#include &lt;<a class="el" href="ConsensusProposal_8h_source.html">ConsensusProposal.h</a>&gt;</code></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="#aripple_1_1ConsensusProposal_3_01NodeID__t_00_01LedgerID__t_00_01Position__t_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="aripple_1_1ConsensusProposal_3_01NodeID__t_00_01LedgerID__t_00_01Position__t_01_4_coll__map" id="aripple_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,67,511,122"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="40,22,143,47"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/chrono/time_point.html" title=" " alt="" coords="5,75,177,115"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="14,139,169,179"/>
</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 id="pub-types" 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 id="pub-methods" 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#a272953b62a8db41c7953e7701c3d9cca">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#a91e326fe44578217610b5ace9e246004">position</a>, <a class="el" href="classripple_1_1NetClock.html#a4c2428e178dca6689fa3fb4be0657107">NetClock::time_point</a> <a class="el" href="classripple_1_1ConsensusProposal.html#a717d26d7ef21b48974d0684b94e59c01">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#a4ceba90b1b71311ef7cbd71b150a903f">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:a4ceba90b1b71311ef7cbd71b150a903f"><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#a4ceba90b1b71311ef7cbd71b150a903f">nodeID</a> () const</td></tr>
<tr class="memdesc:a4ceba90b1b71311ef7cbd71b150a903f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identifying which peer took this position. <a href="classripple_1_1ConsensusProposal.html#a4ceba90b1b71311ef7cbd71b150a903f">More...</a><br /></td></tr>
<tr class="separator:a4ceba90b1b71311ef7cbd71b150a903f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91e326fe44578217610b5ace9e246004"><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#a91e326fe44578217610b5ace9e246004">position</a> () const</td></tr>
<tr class="memdesc:a91e326fe44578217610b5ace9e246004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the proposed position. <a href="classripple_1_1ConsensusProposal.html#a91e326fe44578217610b5ace9e246004">More...</a><br /></td></tr>
<tr class="separator:a91e326fe44578217610b5ace9e246004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a272953b62a8db41c7953e7701c3d9cca"><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#a272953b62a8db41c7953e7701c3d9cca">prevLedger</a> () const</td></tr>
<tr class="memdesc:a272953b62a8db41c7953e7701c3d9cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the prior accepted ledger this position is based on. <a href="classripple_1_1ConsensusProposal.html#a272953b62a8db41c7953e7701c3d9cca">More...</a><br /></td></tr>
<tr class="separator:a272953b62a8db41c7953e7701c3d9cca"><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:a717d26d7ef21b48974d0684b94e59c01"><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#a717d26d7ef21b48974d0684b94e59c01">closeTime</a> () const</td></tr>
<tr class="memdesc:a717d26d7ef21b48974d0684b94e59c01"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current position on the consensus close time. <a href="classripple_1_1ConsensusProposal.html#a717d26d7ef21b48974d0684b94e59c01">More...</a><br /></td></tr>
<tr class="separator:a717d26d7ef21b48974d0684b94e59c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a954a0f98f602a91224313a9fe364dc72"><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#a954a0f98f602a91224313a9fe364dc72">seenTime</a> () const</td></tr>
<tr class="memdesc:a954a0f98f602a91224313a9fe364dc72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get when this position was taken. <a href="classripple_1_1ConsensusProposal.html#a954a0f98f602a91224313a9fe364dc72">More...</a><br /></td></tr>
<tr class="separator:a954a0f98f602a91224313a9fe364dc72"><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:a2ba601a94665aa83295ec98ca22ec295"><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#a2ba601a94665aa83295ec98ca22ec295">signingHash</a> () const</td></tr>
<tr class="memdesc:a2ba601a94665aa83295ec98ca22ec295"><td class="mdescLeft">&#160;</td><td class="mdescRight">The digest for this proposal, used for signing purposes. <a href="classripple_1_1ConsensusProposal.html#a2ba601a94665aa83295ec98ca22ec295">More...</a><br /></td></tr>
<tr class="separator:a2ba601a94665aa83295ec98ca22ec295"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a5eafda7991a6865150c1489d3715cb3f"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a5eafda7991a6865150c1489d3715cb3f">seqJoin</a> = 0</td></tr>
<tr class="separator:a5eafda7991a6865150c1489d3715cb3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fa551a6ee5a7a363d97bcab2fd8cec4"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConsensusProposal.html#a7fa551a6ee5a7a363d97bcab2fd8cec4">seqLeave</a> = 0xffffffff</td></tr>
<tr class="separator:a7fa551a6ee5a7a363d97bcab2fd8cec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" 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"><div class="compoundTemplParams">template&lt;class NodeID_t, class LedgerID_t, class Position_t&gt;<br />
class ripple::ConsensusProposal&lt; NodeID_t, LedgerID_t, Position_t &gt;</div><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" name="a8aa8f75fd852edae88d109313c96de4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8aa8f75fd852edae88d109313c96de4d">&#9670;&#160;</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;::NodeID = 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" name="a262f4ce808b8013b708c573a34e8124e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a262f4ce808b8013b708c573a34e8124e">&#9670;&#160;</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;::ConsensusProposal </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="a4ceba90b1b71311ef7cbd71b150a903f" name="a4ceba90b1b71311ef7cbd71b150a903f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ceba90b1b71311ef7cbd71b150a903f">&#9670;&#160;</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="a91e326fe44578217610b5ace9e246004" name="a91e326fe44578217610b5ace9e246004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91e326fe44578217610b5ace9e246004">&#9670;&#160;</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="a272953b62a8db41c7953e7701c3d9cca" name="a272953b62a8db41c7953e7701c3d9cca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a272953b62a8db41c7953e7701c3d9cca">&#9670;&#160;</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" name="aad1cb7d0dc62fcec8ab135e28c4e9606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad1cb7d0dc62fcec8ab135e28c4e9606">&#9670;&#160;</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="a717d26d7ef21b48974d0684b94e59c01" name="a717d26d7ef21b48974d0684b94e59c01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a717d26d7ef21b48974d0684b94e59c01">&#9670;&#160;</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="a954a0f98f602a91224313a9fe364dc72" name="a954a0f98f602a91224313a9fe364dc72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a954a0f98f602a91224313a9fe364dc72">&#9670;&#160;</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" name="afd1d7ba3a4ff27d8a2b8712ddd7a306e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd1d7ba3a4ff27d8a2b8712ddd7a306e">&#9670;&#160;</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" name="a2b7c39cd60f61c4e424085f4eefe73f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b7c39cd60f61c4e424085f4eefe73f5">&#9670;&#160;</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" name="aa96c9a25fdbb65b10dd0d73c5ac92526"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa96c9a25fdbb65b10dd0d73c5ac92526">&#9670;&#160;</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" name="a0db41af6895dc85c6b5fcf76e9f93237"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0db41af6895dc85c6b5fcf76e9f93237">&#9670;&#160;</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" name="a7d279f2fd7f378e66f151870d1171f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d279f2fd7f378e66f151870d1171f75">&#9670;&#160;</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" name="a799315c246e228ac703759505d8997d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a799315c246e228ac703759505d8997d8">&#9670;&#160;</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="a2ba601a94665aa83295ec98ca22ec295" name="a2ba601a94665aa83295ec98ca22ec295"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ba601a94665aa83295ec98ca22ec295">&#9670;&#160;</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="a5eafda7991a6865150c1489d3715cb3f" name="a5eafda7991a6865150c1489d3715cb3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eafda7991a6865150c1489d3715cb3f">&#9670;&#160;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> const <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="a7fa551a6ee5a7a363d97bcab2fd8cec4" name="a7fa551a6ee5a7a363d97bcab2fd8cec4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fa551a6ee5a7a363d97bcab2fd8cec4">&#9670;&#160;</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"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> const <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" name="a742fc2338165bbd58af3af6c7f59c201"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742fc2338165bbd58af3af6c7f59c201">&#9670;&#160;</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" name="a860f0abb9aef8bd8bea69e67e4d33c02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a860f0abb9aef8bd8bea69e67e4d33c02">&#9670;&#160;</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" name="a2e8914cd894504750d7a028379070d1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e8914cd894504750d7a028379070d1b">&#9670;&#160;</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" name="a293a19eb7078770dad6340be1e3b4153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a293a19eb7078770dad6340be1e3b4153">&#9670;&#160;</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" name="a4deadd017bafaa3ea45a1a441080ae7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4deadd017bafaa3ea45a1a441080ae7c">&#9670;&#160;</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" name="a85ae5e886165b6dcb4cc60deb3dae2ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85ae5e886165b6dcb4cc60deb3dae2ef">&#9670;&#160;</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" name="a59392a6dd8f11f23ed3978458f54be31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59392a6dd8f11f23ed3978458f54be31">&#9670;&#160;</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="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>