Files
rippled/classripple_1_1ConnectAttempt.html
2025-11-04 00:36:48 -08:00

1802 lines
116 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.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: ripple::ConnectAttempt Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<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.8 -->
<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_1ConnectAttempt.html">ConnectAttempt</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classripple_1_1ConnectAttempt-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">ripple::ConnectAttempt Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Manages outbound peer connection attempts with comprehensive timeout handling.
<a href="classripple_1_1ConnectAttempt.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ripple::ConnectAttempt:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1ConnectAttempt__inherit__graph.png" border="0" usemap="#aripple_1_1ConnectAttempt_inherit__map" alt="Inheritance graph"/></div>
<map name="aripple_1_1ConnectAttempt_inherit__map" id="aripple_1_1ConnectAttempt_inherit__map">
<area shape="rect" title="Manages outbound peer connection attempts with comprehensive timeout handling." alt="" coords="97,93,271,119"/>
<area shape="rect" href="classripple_1_1OverlayImpl_1_1Child.html" title=" " alt="" coords="5,5,152,45"/>
<area shape="poly" title=" " alt="" coords="117,51,170,91,167,95,113,56"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html" title=" " alt="" coords="176,5,403,45"/>
<area shape="poly" title=" " alt="" coords="255,56,201,95,198,91,251,51"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ripple::ConnectAttempt:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1ConnectAttempt__coll__graph.png" border="0" usemap="#aripple_1_1ConnectAttempt_coll__map" alt="Collaboration graph"/></div>
<map name="aripple_1_1ConnectAttempt_coll__map" id="aripple_1_1ConnectAttempt_coll__map">
<area shape="rect" title="Manages outbound peer connection attempts with comprehensive timeout handling." alt="" coords="2396,1666,2569,1691"/>
<area shape="rect" href="classripple_1_1OverlayImpl_1_1Child.html" title=" " alt="" coords="2052,1436,2199,1476"/>
<area shape="poly" title=" " alt="" coords="2172,1481,2462,1663,2459,1668,2169,1486"/>
<area shape="rect" href="classripple_1_1OverlayImpl.html" title=" " alt="" coords="1729,1327,1875,1353"/>
<area shape="poly" title=" " alt="" coords="1853,1355,2069,1433,2068,1438,1851,1360"/>
<area shape="rect" href="classripple_1_1Overlay.html" title="Manages the set of connected peers." alt="" coords="1105,1466,1224,1491"/>
<area shape="poly" title=" " alt="" coords="1238,1480,1347,1484,1474,1484,1593,1477,1641,1469,1676,1459,1714,1436,1747,1407,1790,1351,1795,1355,1751,1410,1717,1440,1678,1464,1642,1475,1594,1482,1474,1489,1347,1489,1238,1485"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Source.html" title="Subclasses can be called to write to a stream and have children." alt="" coords="495,1415,663,1455"/>
<area shape="poly" title=" " alt="" coords="677,1443,688,1444,919,1462,1105,1473,1105,1478,919,1467,688,1449,677,1448"/>
<area shape="poly" title=" " alt="" coords="553,1398,562,1391,579,1388,594,1390,604,1396,608,1405,607,1415,602,1414,603,1406,600,1400,592,1395,579,1393,564,1396,556,1403"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Item.html" title=" " alt="" coords="892,1385,1060,1425"/>
<area shape="poly" title=" " alt="" coords="677,1417,688,1416,794,1408,892,1404,892,1410,794,1414,688,1421,677,1422"/>
<area shape="rect" href="classripple_1_1Application.html" title=" " alt="" coords="906,1689,1046,1714"/>
<area shape="poly" title=" " alt="" coords="623,1460,957,1686,954,1691,620,1464"/>
<area shape="rect" href="classripple_1_1Resource_1_1Manager.html" title="Tracks load and resource consumption." alt="" coords="880,1746,1072,1771"/>
<area shape="poly" title=" " alt="" coords="595,1466,632,1541,658,1582,690,1619,747,1664,811,1699,873,1726,927,1743,925,1748,871,1731,808,1704,744,1669,686,1623,654,1586,627,1544,591,1469"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title=" " alt="" coords="243,475,329,501"/>
<area shape="poly" title=" " alt="" coords="298,513,574,1414,569,1415,293,515"/>
<area shape="rect" href="classbeast_1_1WrappedSink.html" title="Wraps a Journal::Sink to prefix its output with a string." alt="" coords="900,518,1052,543"/>
<area shape="poly" title=" " alt="" coords="343,489,900,523,899,529,343,494"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/unordered_map.html" title=" " alt="" coords="688,312,856,352"/>
<area shape="poly" title=" " alt="" coords="339,468,708,350,709,355,341,474"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title=" " alt="" coords="5,468,144,508"/>
<area shape="poly" title=" " alt="" coords="158,485,242,485,242,491,158,491"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html" title=" " alt="" coords="207,893,365,918"/>
<area shape="poly" title=" " alt="" coords="379,903,578,903,1376,903,1532,897,1618,902,1653,910,1679,923,1704,954,1726,1001,1745,1058,1762,1122,1788,1245,1801,1327,1796,1328,1783,1246,1757,1123,1740,1060,1721,1003,1699,957,1676,927,1651,915,1617,907,1532,902,1376,908,578,908,379,908"/>
<area shape="poly" title=" " alt="" coords="304,929,569,1413,564,1415,299,932"/>
<area shape="rect" href="classripple_1_1Resource_1_1Logic.html" title=" " alt="" coords="1290,353,1459,378"/>
<area shape="poly" title=" " alt="" coords="293,879,318,815,359,732,386,688,417,645,453,606,493,572,614,541,862,485,1233,404,1332,376,1333,381,1234,409,863,491,615,547,496,577,457,610,421,649,390,691,363,735,323,818,298,880"/>
<area shape="poly" title=" " alt="" coords="888,1431,856,1436,756,1442,663,1442,664,1436,756,1437,856,1431,887,1426"/>
<area shape="rect" href="classbeast_1_1List.html" title=" " alt="" coords="193,1415,379,1455"/>
<area shape="poly" title=" " alt="" coords="393,1432,495,1432,495,1437,393,1437"/>
<area shape="rect" href="classripple_1_1reduce__relay_1_1SquelchHandler.html" title="Abstract class." alt="" coords="901,1163,1051,1203"/>
<area shape="poly" title=" " alt="" coords="1066,1184,1109,1192,1155,1205,1198,1226,1235,1256,1244,1268,1248,1281,1246,1306,1246,1329,1250,1339,1259,1349,1294,1365,1343,1374,1403,1378,1470,1377,1609,1366,1728,1350,1729,1355,1610,1371,1471,1383,1403,1384,1342,1380,1292,1370,1256,1353,1246,1342,1241,1330,1241,1306,1242,1282,1239,1270,1231,1259,1195,1231,1153,1210,1108,1197,1065,1189"/>
<area shape="rect" href="classripple_1_1reduce__relay_1_1Slots.html" title=" " alt="" coords="1264,1072,1485,1112"/>
<area shape="poly" title=" " alt="" coords="1065,1178,1162,1171,1203,1164,1232,1154,1239,1147,1243,1139,1247,1130,1256,1122,1278,1110,1280,1114,1259,1126,1252,1134,1248,1142,1244,1150,1235,1158,1205,1169,1162,1176,1065,1184"/>
<area shape="poly" title=" " alt="" coords="1052,1717,1074,1731,1084,1743,1088,1754,1098,1779,1165,1887,1201,1926,1226,1945,1259,1963,1305,1983,1346,1995,1384,2000,1420,2001,1498,1994,1595,1988,2127,1988,2160,1985,2192,1978,2223,1966,2253,1950,2308,1910,2357,1862,2398,1811,2431,1762,2473,1690,2477,1693,2436,1765,2402,1814,2360,1865,2312,1914,2256,1955,2226,1971,2194,1983,2161,1991,2127,1993,1595,1993,1498,1999,1420,2006,1384,2006,1345,2000,1303,1988,1256,1968,1223,1949,1198,1930,1161,1890,1094,1781,1083,1756,1079,1746,1070,1735,1049,1722"/>
<area shape="poly" title=" " alt="" coords="1060,1694,1223,1683,1416,1666,1584,1644,1643,1632,1676,1619,1707,1590,1732,1555,1753,1517,1768,1477,1788,1403,1797,1352,1802,1353,1794,1405,1774,1479,1758,1519,1737,1558,1711,1593,1679,1624,1645,1637,1585,1650,1416,1671,1223,1688,1060,1699"/>
<area shape="rect" href="classripple_1_1ServerHandler.html" title=" " alt="" coords="1295,1771,1455,1797"/>
<area shape="poly" title=" " alt="" coords="1060,1709,1145,1723,1234,1745,1258,1756,1305,1769,1303,1774,1256,1761,1232,1751,1144,1728,1059,1714"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="1271,1884,1479,1953"/>
<area shape="poly" title=" " alt="" coords="1492,1926,1540,1923,1589,1913,1635,1895,1676,1867,1690,1851,1703,1828,1726,1767,1747,1692,1763,1611,1786,1454,1797,1353,1802,1353,1791,1455,1768,1612,1752,1694,1731,1769,1707,1830,1694,1854,1679,1871,1638,1900,1591,1918,1541,1928,1493,1931"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/condition_variable_any.html" title=" " alt="" coords="1274,714,1475,739"/>
<area shape="poly" title=" " alt="" coords="1489,735,1608,750,1654,760,1679,770,1695,789,1709,814,1734,881,1755,962,1771,1050,1793,1219,1802,1327,1797,1327,1788,1219,1766,1051,1749,963,1729,882,1704,817,1690,792,1676,774,1652,765,1607,756,1489,740"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/weak_ptr.html" title=" " alt="" coords="1289,764,1460,804"/>
<area shape="poly" title=" " alt="" coords="1474,786,1601,797,1651,804,1679,814,1694,831,1708,854,1732,915,1752,989,1769,1070,1792,1226,1802,1327,1797,1327,1787,1226,1764,1071,1747,990,1727,916,1703,857,1690,834,1676,818,1650,809,1600,802,1473,791"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="921,606,1031,631"/>
<area shape="poly" title=" " alt="" coords="1045,606,1287,577,1440,565,1595,560,2127,560,2150,563,2172,571,2193,585,2213,603,2251,652,2286,716,2317,793,2345,878,2393,1067,2430,1262,2457,1441,2483,1665,2478,1666,2452,1441,2425,1263,2388,1068,2340,880,2312,794,2281,719,2247,655,2209,607,2190,589,2169,576,2148,568,2127,565,1595,565,1441,570,1288,582,1045,611"/>
<area shape="poly" title=" " alt="" coords="1045,617,1198,623,1387,639,1480,652,1564,670,1632,694,1659,708,1679,723,1696,744,1711,772,1737,844,1758,932,1774,1028,1795,1211,1803,1327,1797,1327,1789,1212,1769,1029,1753,933,1732,846,1706,774,1692,747,1675,727,1656,712,1630,699,1562,676,1479,658,1386,644,1198,628,1045,622"/>
<area shape="poly" title=" " alt="" coords="991,643,1033,747,1056,815,1075,885,1078,937,1078,1004,1082,1068,1088,1094,1098,1112,1113,1123,1130,1128,1165,1124,1201,1121,1219,1126,1235,1140,1243,1155,1248,1180,1252,1252,1248,1450,1244,1647,1248,1719,1253,1743,1259,1757,1276,1770,1296,1779,1293,1784,1273,1775,1255,1760,1248,1744,1243,1720,1239,1647,1243,1450,1247,1253,1243,1181,1238,1157,1231,1143,1216,1131,1200,1126,1166,1129,1129,1133,1111,1128,1094,1115,1083,1096,1077,1069,1073,1004,1073,937,1069,886,1051,817,1028,749,986,645"/>
<area shape="poly" title=" " alt="" coords="998,641,1104,789,1172,893,1236,1002,1242,1018,1245,1032,1249,1044,1259,1057,1278,1070,1275,1074,1256,1061,1244,1047,1240,1034,1237,1020,1231,1004,1167,896,1100,792,993,644"/>
<area shape="poly" title=" " alt="" coords="1016,598,1232,498,1272,467,1308,433,1361,376,1364,380,1312,437,1275,471,1235,502,1018,603"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="506,587,653,613"/>
<area shape="poly" title=" " alt="" coords="644,613,688,620,813,625,920,621,921,626,813,630,688,625,643,618"/>
<area shape="poly" title=" " alt="" coords="623,580,687,560,798,541,899,532,900,537,799,547,689,565,625,585"/>
<area shape="poly" title=" " alt="" coords="666,598,758,593,855,577,906,561,949,541,952,546,908,566,857,583,759,598,667,603"/>
<area shape="poly" title=" " alt="" coords="1444,1796,1499,1802,1561,1801,1622,1789,1650,1776,1676,1759,1699,1729,1721,1683,1740,1625,1757,1560,1783,1436,1796,1352,1801,1353,1788,1437,1762,1562,1745,1626,1726,1685,1704,1732,1679,1763,1653,1781,1623,1794,1561,1807,1499,1808,1443,1802"/>
<area shape="poly" title=" " alt="" coords="1033,1773,1137,1799,1258,1820,1352,1831,1475,1841,1537,1841,1594,1837,1641,1827,1676,1810,1689,1796,1701,1776,1724,1723,1744,1658,1761,1585,1785,1445,1797,1353,1802,1353,1790,1446,1766,1586,1749,1659,1729,1725,1706,1779,1693,1799,1679,1814,1643,1832,1595,1843,1537,1847,1475,1846,1352,1836,1257,1825,1136,1804,1032,1778"/>
<area shape="poly" title=" " alt="" coords="1086,1763,1295,1776,1294,1782,1085,1768"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/thread/mutex.html" title=" " alt="" coords="930,1265,1022,1290"/>
<area shape="poly" title=" " alt="" coords="1035,1262,1155,1244,1317,1230,1406,1229,1498,1235,1590,1247,1678,1269,1738,1296,1784,1325,1781,1329,1735,1301,1676,1275,1589,1253,1498,1240,1406,1235,1317,1236,1156,1249,1036,1268"/>
<area shape="poly" title=" " alt="" coords="1027,1293,1078,1317,1136,1351,1191,1396,1216,1423,1236,1452,1245,1481,1248,1519,1244,1609,1242,1697,1247,1732,1259,1757,1275,1770,1295,1778,1293,1783,1273,1775,1255,1760,1242,1734,1237,1698,1239,1609,1242,1519,1240,1482,1231,1455,1211,1426,1188,1400,1133,1356,1076,1322,1024,1298"/>
<area shape="rect" href="structripple_1_1metrics_1_1TxMetrics.html" title="Run transaction reduce&#45;relay feature related metrics." alt="" coords="1281,1265,1469,1290"/>
<area shape="poly" title=" " alt="" coords="1036,1275,1280,1275,1280,1280,1036,1280"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="1285,828,1464,868"/>
<area shape="poly" title=" " alt="" coords="1478,832,1529,832,1582,839,1634,856,1657,869,1679,885,1705,919,1727,971,1747,1034,1764,1104,1789,1238,1802,1327,1796,1327,1784,1239,1759,1105,1742,1036,1722,973,1700,922,1675,889,1655,873,1631,861,1581,845,1528,837,1478,837"/>
<area shape="rect" href="classripple_1_1TrafficCount.html" title="TrafficCount is used to count ingress and egress wire bytes and number of messages." alt="" coords="1303,943,1447,969"/>
<area shape="poly" title=" " alt="" coords="1460,942,1514,942,1572,948,1628,964,1655,977,1679,994,1716,1032,1745,1076,1766,1125,1782,1175,1799,1266,1803,1327,1798,1327,1793,1266,1777,1176,1761,1127,1740,1079,1712,1035,1676,998,1652,982,1626,969,1571,953,1514,947,1461,948"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/unordered_map.html" title=" " alt="" coords="1257,2028,1492,2097"/>
<area shape="poly" title=" " alt="" coords="1505,2040,1551,2026,1597,2006,1639,1980,1675,1946,1690,1925,1703,1897,1727,1825,1747,1738,1764,1644,1787,1466,1797,1353,1802,1353,1792,1466,1769,1645,1753,1739,1732,1827,1708,1899,1694,1928,1679,1950,1642,1984,1599,2011,1553,2031,1506,2045"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" title=" " alt="" coords="891,2079,1061,2119"/>
<area shape="poly" title=" " alt="" coords="1075,2101,1257,2107,1536,2111,1649,2109,1754,2104,1858,2092,1968,2073,2093,2045,2238,2007,2311,1989,2339,1976,2370,1950,2396,1918,2418,1883,2450,1807,2469,1738,2477,1691,2482,1692,2474,1740,2455,1809,2423,1885,2401,1922,2374,1954,2342,1980,2313,1994,2239,2012,2094,2050,1969,2078,1858,2097,1754,2109,1649,2115,1536,2116,1257,2112,1075,2106"/>
<area shape="poly" title=" " alt="" coords="1075,2087,1257,2071,1257,2076,1075,2092"/>
<area shape="rect" href="classripple_1_1PeerFinder_1_1Slot.html" title="Properties and state associated with a peer to peer overlay connection." alt="" coords="511,2079,647,2119"/>
<area shape="poly" title=" " alt="" coords="661,2096,890,2096,890,2101,661,2101"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/unordered_map.html" title=" " alt="" coords="1257,993,1492,1047"/>
<area shape="poly" title=" " alt="" coords="1506,1011,1550,1016,1596,1026,1639,1042,1679,1066,1710,1095,1735,1129,1756,1167,1772,1206,1793,1277,1802,1327,1796,1328,1787,1278,1767,1207,1751,1169,1731,1132,1706,1099,1676,1070,1637,1047,1594,1031,1549,1021,1505,1017"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="925,1007,1027,1033"/>
<area shape="poly" title=" " alt="" coords="1002,996,1070,933,1099,898,1120,864,1152,802,1168,774,1189,747,1217,722,1256,699,1296,686,1347,678,1405,676,1468,677,1531,682,1589,691,1640,704,1679,719,1762,768,1841,825,1916,888,1988,955,2055,1026,2118,1099,2231,1246,2324,1387,2397,1510,2478,1665,2473,1667,2393,1513,2320,1390,2226,1249,2114,1102,2051,1029,1984,959,1913,892,1838,829,1759,773,1676,724,1638,709,1588,697,1530,688,1468,682,1405,681,1347,684,1297,691,1258,704,1220,726,1193,750,1172,776,1156,805,1125,867,1103,901,1074,936,1006,1000"/>
<area shape="poly" title=" " alt="" coords="1041,1017,1257,1017,1257,1023,1041,1023"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="1271,1137,1478,1162"/>
<area shape="poly" title=" " alt="" coords="1042,1031,1151,1060,1200,1076,1235,1093,1247,1108,1252,1115,1259,1122,1286,1134,1284,1139,1256,1126,1247,1119,1243,1111,1232,1097,1198,1081,1149,1065,1041,1037"/>
<area shape="rect" href="classripple_1_1Resolver.html" title=" " alt="" coords="1313,1314,1437,1339"/>
<area shape="poly" title=" " alt="" coords="1451,1326,1729,1335,1728,1340,1450,1332"/>
<area shape="poly" title=" " alt="" coords="1492,1147,1538,1152,1586,1161,1634,1175,1679,1195,1719,1225,1753,1262,1779,1298,1796,1326,1791,1328,1775,1301,1749,1265,1716,1229,1676,1200,1632,1180,1585,1166,1537,1157,1491,1152"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/atomic/atomic.html" title=" " alt="" coords="1285,1415,1464,1441"/>
<area shape="poly" title=" " alt="" coords="1440,1441,1493,1449,1553,1453,1616,1450,1676,1436,1712,1419,1743,1396,1788,1351,1792,1355,1747,1400,1714,1423,1678,1441,1616,1455,1553,1459,1492,1454,1439,1446"/>
<area shape="poly" title=" " alt="" coords="1499,1082,1544,1086,1591,1095,1637,1109,1679,1131,1705,1152,1728,1177,1763,1233,1787,1287,1800,1326,1795,1328,1782,1289,1758,1236,1723,1180,1701,1156,1676,1136,1635,1114,1590,1100,1544,1091,1499,1088"/>
<area shape="poly" title=" " alt="" coords="1483,1284,1678,1309,1751,1325,1750,1330,1677,1315,1482,1289"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" title=" " alt="" coords="1289,1516,1460,1556"/>
<area shape="poly" title=" " alt="" coords="1474,1548,1523,1550,1575,1546,1627,1535,1676,1515,1700,1499,1721,1479,1755,1432,1780,1386,1794,1352,1799,1354,1784,1389,1760,1435,1725,1482,1703,1503,1679,1520,1629,1540,1576,1551,1523,1555,1473,1553"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="1305,1580,1444,1620"/>
<area shape="poly" title=" " alt="" coords="1458,1610,1510,1612,1567,1609,1624,1596,1651,1585,1676,1571,1704,1548,1727,1520,1747,1489,1763,1457,1785,1396,1796,1352,1801,1354,1790,1398,1768,1459,1751,1492,1732,1523,1707,1552,1679,1576,1653,1590,1626,1601,1568,1614,1510,1618,1458,1615"/>
<area shape="rect" href="structripple_1_1OverlayImpl_1_1Stats.html" title=" " alt="" coords="1301,1707,1448,1747"/>
<area shape="poly" title=" " alt="" coords="1462,1737,1515,1738,1572,1733,1627,1718,1652,1706,1676,1690,1713,1652,1741,1607,1763,1558,1778,1508,1794,1415,1798,1353,1803,1353,1799,1416,1783,1509,1768,1560,1746,1610,1717,1656,1679,1694,1655,1710,1629,1723,1573,1738,1515,1744,1462,1742"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this.html" title=" " alt="" coords="2012,2084,2239,2124"/>
<area shape="poly" title=" " alt="" coords="2252,2108,2284,2103,2315,2095,2344,2082,2370,2063,2391,2035,2410,1993,2442,1881,2465,1768,2477,1691,2482,1692,2470,1769,2447,1882,2415,1994,2395,2038,2374,2067,2347,2086,2317,2100,2285,2108,2253,2113"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/chrono/duration.html" title=" " alt="" coords="2048,2149,2203,2174"/>
<area shape="poly" title=" " alt="" coords="2216,2170,2256,2169,2297,2163,2336,2150,2370,2127,2394,2094,2414,2044,2432,1981,2447,1912,2467,1779,2477,1691,2483,1692,2473,1780,2452,1913,2437,1982,2419,2045,2398,2097,2374,2131,2339,2154,2299,2168,2257,2175,2216,2175"/>
<area shape="poly" title=" " alt="" coords="1065,517,1210,504,1373,497,2127,497,2185,504,2232,521,2268,549,2297,586,2320,631,2339,682,2375,798,2410,930,2437,1066,2456,1201,2469,1330,2482,1544,2484,1666,2479,1666,2477,1544,2464,1330,2451,1202,2431,1067,2405,931,2369,799,2334,684,2315,633,2292,589,2264,553,2229,526,2184,509,2127,503,1373,503,1210,509,1066,523"/>
<area shape="rect" href="classripple_1_1Resource_1_1Consumer.html" title="An endpoint that consumes resources." alt="" coords="1701,353,1903,378"/>
<area shape="poly" title=" " alt="" coords="1916,350,2027,349,2088,354,2151,364,2213,380,2272,404,2327,437,2374,480,2389,508,2403,553,2427,688,2445,865,2460,1062,2477,1442,2484,1666,2478,1666,2472,1442,2454,1063,2440,865,2421,689,2398,555,2384,510,2370,483,2324,441,2270,409,2211,385,2150,369,2088,359,2027,354,1916,355"/>
<area shape="poly" title=" " alt="" coords="1473,363,1701,363,1701,368,1473,368"/>
<area shape="rect" href="structripple_1_1Resource_1_1Logic_1_1Stats.html" title=" " alt="" coords="891,389,1061,429"/>
<area shape="poly" title=" " alt="" coords="1075,400,1233,385,1301,375,1302,381,1234,391,1075,406"/>
<area shape="rect" href="classbeast_1_1abstract__clock.html" title="Abstract interface to a clock." alt="" coords="896,209,1056,249"/>
<area shape="poly" title=" " alt="" coords="1071,231,1152,242,1194,252,1234,266,1273,284,1308,308,1361,350,1358,354,1305,312,1270,289,1232,270,1192,257,1151,247,1070,236"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/unordered_map.html" title=" " alt="" coords="881,130,1071,185"/>
<area shape="poly" title=" " alt="" coords="1085,166,1161,184,1199,197,1235,215,1279,247,1317,285,1367,351,1363,354,1313,289,1275,251,1232,220,1197,202,1159,189,1084,171"/>
<area shape="rect" href="structripple_1_1Resource_1_1Key.html" title=" " alt="" coords="207,150,365,175"/>
<area shape="poly" title=" " alt="" coords="379,159,880,155,880,161,379,165"/>
<area shape="rect" href="structripple_1_1Resource_1_1Entry.html" title=" " alt="" coords="495,79,664,105"/>
<area shape="poly" title=" " alt="" coords="352,144,525,102,526,107,353,149"/>
<area shape="poly" title=" " alt="" coords="678,90,861,96,967,103,1072,115,1182,134,1291,161,1397,194,1498,230,1668,300,1776,350,1774,355,1666,304,1496,235,1396,199,1289,166,1180,139,1072,120,967,109,861,101,678,95"/>
<area shape="poly" title=" " alt="" coords="629,106,689,123,787,139,881,149,880,154,787,144,687,128,628,112"/>
<area shape="rect" title=" " alt="" coords="217,5,355,45"/>
<area shape="poly" title=" " alt="" coords="370,41,523,77,522,82,368,47"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="209,69,363,109"/>
<area shape="poly" title=" " alt="" coords="377,87,495,89,494,94,377,93"/>
<area shape="rect" href="classbeast_1_1List.html" title=" " alt="" coords="899,339,1053,365"/>
<area shape="poly" title=" " alt="" coords="1067,359,1096,361,1290,364,1289,370,1096,367,1066,365"/>
<area shape="poly" title=" " alt="" coords="869,309,948,298,1040,290,1138,291,1234,303,1300,324,1353,350,1350,355,1298,329,1233,308,1137,296,1040,296,949,303,870,315"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="2035,2199,2215,2239"/>
<area shape="poly" title=" " alt="" coords="2229,2231,2267,2229,2304,2223,2339,2211,2370,2190,2384,2174,2396,2152,2419,2094,2437,2022,2451,1943,2470,1791,2478,1692,2483,1692,2475,1791,2456,1943,2442,2023,2424,2095,2401,2155,2388,2177,2374,2194,2342,2215,2305,2228,2267,2235,2229,2236"/>
</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="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structripple_1_1ConnectAttempt_1_1StepTimeouts.html">StepTimeouts</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines timeout values for each connection step. <a href="structripple_1_1ConnectAttempt_1_1StepTimeouts.html#details">More...</a><br /></td></tr>
<tr class="separator:"><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:a6453582a4c20182f909082b1f6bdb7d0" id="r_a6453582a4c20182f909082b1f6bdb7d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a6453582a4c20182f909082b1f6bdb7d0">ConnectAttempt</a> (<a class="el" href="classripple_1_1Application.html">Application</a> &amp;app, boost::asio::io_context &amp;io_context, <a class="el" href="classripple_1_1ConnectAttempt.html#a89775ec8229e6012ad0783fbd7c9c8e8">endpoint_type</a> const &amp;remote_endpoint, <a class="el" href="classripple_1_1Resource_1_1Consumer.html">Resource::Consumer</a> usage, <a class="el" href="classripple_1_1ConnectAttempt.html#a95d8870c340dd0e22544d7c8c156ae11">shared_context</a> const &amp;context, <a class="el" href="classripple_1_1Peer.html#a56cc3cdd9c73921f23cb43a2bfa696a1">Peer::id_t</a> id, <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1PeerFinder_1_1Slot.html">PeerFinder::Slot</a> &gt; const &amp;slot, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> journal, <a class="el" href="classripple_1_1OverlayImpl.html">OverlayImpl</a> &amp;overlay)</td></tr>
<tr class="memdesc:a6453582a4c20182f909082b1f6bdb7d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new <a class="el" href="classripple_1_1ConnectAttempt.html" title="Manages outbound peer connection attempts with comprehensive timeout handling.">ConnectAttempt</a> object. <br /></td></tr>
<tr class="separator:a6453582a4c20182f909082b1f6bdb7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47260286197f5ca9340932dcd12250bb" id="r_a47260286197f5ca9340932dcd12250bb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a47260286197f5ca9340932dcd12250bb">~ConnectAttempt</a> ()</td></tr>
<tr class="separator:a47260286197f5ca9340932dcd12250bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22c40c47432ec6abd8a108fea08b501e" id="r_a22c40c47432ec6abd8a108fea08b501e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a22c40c47432ec6abd8a108fea08b501e">stop</a> () override</td></tr>
<tr class="memdesc:a22c40c47432ec6abd8a108fea08b501e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the connection attempt. <br /></td></tr>
<tr class="separator:a22c40c47432ec6abd8a108fea08b501e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ccdafc7519dce6a4d70b95787fcc315" id="r_a7ccdafc7519dce6a4d70b95787fcc315"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a7ccdafc7519dce6a4d70b95787fcc315">run</a> ()</td></tr>
<tr class="memdesc:a7ccdafc7519dce6a4d70b95787fcc315"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin the connection attempt. <br /></td></tr>
<tr class="separator:a7ccdafc7519dce6a4d70b95787fcc315"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/shared_from_this.html">shared_from_this</a> (T... args)</td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/enable_shared_from_this/weak_from_this.html">weak_from_this</a> (T... args)</td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ac48a68b0e553ec566f03e3f7d538beec" id="r_ac48a68b0e553ec566f03e3f7d538beec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1OverlayImpl.html">OverlayImpl</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1OverlayImpl_1_1Child.html#ac48a68b0e553ec566f03e3f7d538beec">overlay_</a></td></tr>
<tr class="separator:ac48a68b0e553ec566f03e3f7d538beec"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:afb1f4f2f566ea89049b4ff534ea4e236" id="r_afb1f4f2f566ea89049b4ff534ea4e236"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a> { <br />
&#160;&#160;<a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a95b19f7739b0b7ea7d6b07586be54f36">Init</a>
, <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a5ad01edf4af80b4519313fc3212d1c20">TcpConnect</a>
, <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a46c4b762ef54a456c0747c3ffb73f227">TlsHandshake</a>
, <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a85592b64c275ebaa18344ec3b9fdc590">HttpWrite</a>
, <br />
&#160;&#160;<a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a980454cc92082e9bfdef8a54ebd79af4">HttpRead</a>
, <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236aae94f80b3ce82062a5dd7815daa04f9d">Complete</a>
, <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236afba3de0df60f884fb7536fc3e4875027">ShutdownStarted</a>
<br />
}</td></tr>
<tr class="memdesc:afb1f4f2f566ea89049b4ff534ea4e236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents the current phase of the connection establishment process. <a href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">More...</a><br /></td></tr>
<tr class="separator:afb1f4f2f566ea89049b4ff534ea4e236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dca7ff154f1f994dfa934a54bab62bd" id="r_a2dca7ff154f1f994dfa934a54bab62bd"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> = boost::system::error_code</td></tr>
<tr class="separator:a2dca7ff154f1f994dfa934a54bab62bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89775ec8229e6012ad0783fbd7c9c8e8" id="r_a89775ec8229e6012ad0783fbd7c9c8e8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a89775ec8229e6012ad0783fbd7c9c8e8">endpoint_type</a> = boost::asio::ip::tcp::endpoint</td></tr>
<tr class="separator:a89775ec8229e6012ad0783fbd7c9c8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8e0de1d9185fc38f540c1a8642be57f" id="r_af8e0de1d9185fc38f540c1a8642be57f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#af8e0de1d9185fc38f540c1a8642be57f">request_type</a> = boost::beast::http::request&lt; boost::beast::http::empty_body &gt;</td></tr>
<tr class="separator:af8e0de1d9185fc38f540c1a8642be57f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcda60a5e2a65fba7eaf20649efb3355" id="r_abcda60a5e2a65fba7eaf20649efb3355"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#abcda60a5e2a65fba7eaf20649efb3355">response_type</a> = boost::beast::http::response&lt; boost::beast::http::dynamic_body &gt;</td></tr>
<tr class="separator:abcda60a5e2a65fba7eaf20649efb3355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25587e81dcab145c3392aee7f1c58277" id="r_a25587e81dcab145c3392aee7f1c58277"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a25587e81dcab145c3392aee7f1c58277">socket_type</a> = boost::asio::ip::tcp::socket</td></tr>
<tr class="separator:a25587e81dcab145c3392aee7f1c58277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192f32252df569c2e1578bfe22e063d1" id="r_a192f32252df569c2e1578bfe22e063d1"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a192f32252df569c2e1578bfe22e063d1">middle_type</a> = boost::beast::tcp_stream</td></tr>
<tr class="separator:a192f32252df569c2e1578bfe22e063d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ca6cfc1e2622ca615a5579d5aae141" id="r_ac0ca6cfc1e2622ca615a5579d5aae141"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ac0ca6cfc1e2622ca615a5579d5aae141">stream_type</a> = boost::beast::ssl_stream&lt; <a class="el" href="classripple_1_1ConnectAttempt.html#a192f32252df569c2e1578bfe22e063d1">middle_type</a> &gt;</td></tr>
<tr class="separator:ac0ca6cfc1e2622ca615a5579d5aae141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d8870c340dd0e22544d7c8c156ae11" id="r_a95d8870c340dd0e22544d7c8c156ae11"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a95d8870c340dd0e22544d7c8c156ae11">shared_context</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; boost::asio::ssl::context &gt;</td></tr>
<tr class="separator:a95d8870c340dd0e22544d7c8c156ae11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ab21b63f1743fe8f1997e7f242b8d20a1" id="r_ab21b63f1743fe8f1997e7f242b8d20a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ab21b63f1743fe8f1997e7f242b8d20a1">setTimer</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a> step)</td></tr>
<tr class="memdesc:ab21b63f1743fe8f1997e7f242b8d20a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set timers for the specified connection step. <br /></td></tr>
<tr class="separator:ab21b63f1743fe8f1997e7f242b8d20a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c89b5d8a83f97669ae19bd62e472ad" id="r_a27c89b5d8a83f97669ae19bd62e472ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a27c89b5d8a83f97669ae19bd62e472ad">cancelTimer</a> ()</td></tr>
<tr class="memdesc:a27c89b5d8a83f97669ae19bd62e472ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel both global and step timers. <br /></td></tr>
<tr class="separator:a27c89b5d8a83f97669ae19bd62e472ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad507d6327e6b66f2697ff3a5aee1849" id="r_aad507d6327e6b66f2697ff3a5aee1849"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#aad507d6327e6b66f2697ff3a5aee1849">onTimer</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="memdesc:aad507d6327e6b66f2697ff3a5aee1849"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle timer expiration events. <br /></td></tr>
<tr class="separator:aad507d6327e6b66f2697ff3a5aee1849"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd7b070372b08b6f38f419fe907ec9b9" id="r_acd7b070372b08b6f38f419fe907ec9b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#acd7b070372b08b6f38f419fe907ec9b9">onConnect</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="separator:acd7b070372b08b6f38f419fe907ec9b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f489c3554733f65393fb11d6852ef78" id="r_a7f489c3554733f65393fb11d6852ef78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a7f489c3554733f65393fb11d6852ef78">onHandshake</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="separator:a7f489c3554733f65393fb11d6852ef78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a985f7601d6cce79b3b66b73c2fa583f6" id="r_a985f7601d6cce79b3b66b73c2fa583f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a985f7601d6cce79b3b66b73c2fa583f6">onWrite</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="separator:a985f7601d6cce79b3b66b73c2fa583f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5ec22a076120a2271fbde792b84f6b0" id="r_ae5ec22a076120a2271fbde792b84f6b0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ae5ec22a076120a2271fbde792b84f6b0">onRead</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="separator:ae5ec22a076120a2271fbde792b84f6b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9a0e0b631598c678467eb02d1a03fdb" id="r_ad9a0e0b631598c678467eb02d1a03fdb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ad9a0e0b631598c678467eb02d1a03fdb">fail</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;reason)</td></tr>
<tr class="separator:ad9a0e0b631598c678467eb02d1a03fdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a082b3c2027183f60f590903932516810" id="r_a082b3c2027183f60f590903932516810"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a082b3c2027183f60f590903932516810">fail</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;name, <a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="separator:a082b3c2027183f60f590903932516810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ebf50874a83d1cfa0a800f6644b303d" id="r_a3ebf50874a83d1cfa0a800f6644b303d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a3ebf50874a83d1cfa0a800f6644b303d">shutdown</a> ()</td></tr>
<tr class="separator:a3ebf50874a83d1cfa0a800f6644b303d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e9d1fda7cfd441e4458ea43499da3f7" id="r_a8e9d1fda7cfd441e4458ea43499da3f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a8e9d1fda7cfd441e4458ea43499da3f7">tryAsyncShutdown</a> ()</td></tr>
<tr class="separator:a8e9d1fda7cfd441e4458ea43499da3f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf109bcf3c9ef8e865fd8c4d5c89e903" id="r_abf109bcf3c9ef8e865fd8c4d5c89e903"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#abf109bcf3c9ef8e865fd8c4d5c89e903">onShutdown</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a> ec)</td></tr>
<tr class="separator:abf109bcf3c9ef8e865fd8c4d5c89e903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af296702d1c6d038fe463a0ee16d3b2b3" id="r_af296702d1c6d038fe463a0ee16d3b2b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#af296702d1c6d038fe463a0ee16d3b2b3">close</a> ()</td></tr>
<tr class="separator:af296702d1c6d038fe463a0ee16d3b2b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa93311abfc27209476e78eaa09df91b5" id="r_aa93311abfc27209476e78eaa09df91b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#aa93311abfc27209476e78eaa09df91b5">processResponse</a> ()</td></tr>
<tr class="memdesc:aa93311abfc27209476e78eaa09df91b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the HTTP upgrade response from peer. <br /></td></tr>
<tr class="separator:aa93311abfc27209476e78eaa09df91b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a79b267381e4d43a333150d0519d60846" id="r_a79b267381e4d43a333150d0519d60846"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a79b267381e4d43a333150d0519d60846">stepToString</a> (<a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a> step)</td></tr>
<tr class="separator:a79b267381e4d43a333150d0519d60846"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee0db91a2ff160931fd4aa230ef5098e" id="r_aee0db91a2ff160931fd4aa230ef5098e"><td class="memTemplParams" colspan="2">template&lt;class = void&gt; </td></tr>
<tr class="memitem:aee0db91a2ff160931fd4aa230ef5098e"><td class="memTemplItemLeft" align="right" valign="top">static boost::asio::ip::tcp::endpoint&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#aee0db91a2ff160931fd4aa230ef5098e">parse_endpoint</a> (<a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;s, boost::system::error_code &amp;ec)</td></tr>
<tr class="separator:aee0db91a2ff160931fd4aa230ef5098e"><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:ab8f8e97458ff827357c385acdf5a6a4d" id="r_ab8f8e97458ff827357c385acdf5a6a4d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Application.html">Application</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ab8f8e97458ff827357c385acdf5a6a4d">app_</a></td></tr>
<tr class="separator:ab8f8e97458ff827357c385acdf5a6a4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4068c7a4ca32b0df61491ab40c35fc6" id="r_ae4068c7a4ca32b0df61491ab40c35fc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Peer.html#a56cc3cdd9c73921f23cb43a2bfa696a1">Peer::id_t</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ae4068c7a4ca32b0df61491ab40c35fc6">id_</a></td></tr>
<tr class="separator:ae4068c7a4ca32b0df61491ab40c35fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4bc66cd959dac139f55c3dbf14b9648" id="r_ad4bc66cd959dac139f55c3dbf14b9648"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1WrappedSink.html">beast::WrappedSink</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ad4bc66cd959dac139f55c3dbf14b9648">sink_</a></td></tr>
<tr class="separator:ad4bc66cd959dac139f55c3dbf14b9648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af22b000293491c42c76a884354d9e421" id="r_af22b000293491c42c76a884354d9e421"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#af22b000293491c42c76a884354d9e421">journal_</a></td></tr>
<tr class="separator:af22b000293491c42c76a884354d9e421"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbf101a3d4e0fc8e8fc3bb454c69b318" id="r_afbf101a3d4e0fc8e8fc3bb454c69b318"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ConnectAttempt.html#a89775ec8229e6012ad0783fbd7c9c8e8">endpoint_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#afbf101a3d4e0fc8e8fc3bb454c69b318">remote_endpoint_</a></td></tr>
<tr class="separator:afbf101a3d4e0fc8e8fc3bb454c69b318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e475427118da2fc55457d9d65bd4856" id="r_a6e475427118da2fc55457d9d65bd4856"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1Resource_1_1Consumer.html">Resource::Consumer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a6e475427118da2fc55457d9d65bd4856">usage_</a></td></tr>
<tr class="separator:a6e475427118da2fc55457d9d65bd4856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a701066ec2a8291dbbb5430a6dee67124" id="r_a701066ec2a8291dbbb5430a6dee67124"><td class="memItemLeft" align="right" valign="top">boost::asio::strand&lt; boost::asio::io_context::executor_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a701066ec2a8291dbbb5430a6dee67124">strand_</a></td></tr>
<tr class="separator:a701066ec2a8291dbbb5430a6dee67124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbbbebb7967570f0295e0c2960367d1d" id="r_afbbbebb7967570f0295e0c2960367d1d"><td class="memItemLeft" align="right" valign="top">boost::asio::basic_waitable_timer&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#afbbbebb7967570f0295e0c2960367d1d">timer_</a></td></tr>
<tr class="separator:afbbbebb7967570f0295e0c2960367d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afda5c812ab2499499ab389c9f2875927" id="r_afda5c812ab2499499ab389c9f2875927"><td class="memItemLeft" align="right" valign="top">boost::asio::basic_waitable_timer&lt; <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#afda5c812ab2499499ab389c9f2875927">stepTimer_</a></td></tr>
<tr class="separator:afda5c812ab2499499ab389c9f2875927"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fa5430b0c02e245933c979b27ab4022" id="r_a3fa5430b0c02e245933c979b27ab4022"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt; <a class="el" href="classripple_1_1ConnectAttempt.html#ac0ca6cfc1e2622ca615a5579d5aae141">stream_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a3fa5430b0c02e245933c979b27ab4022">stream_ptr_</a></td></tr>
<tr class="separator:a3fa5430b0c02e245933c979b27ab4022"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef879770a2826cc01cc0d2c8923957a" id="r_a4ef879770a2826cc01cc0d2c8923957a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ConnectAttempt.html#a25587e81dcab145c3392aee7f1c58277">socket_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a4ef879770a2826cc01cc0d2c8923957a">socket_</a></td></tr>
<tr class="separator:a4ef879770a2826cc01cc0d2c8923957a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91d5cadc35fbfe0854fff84134cef666" id="r_a91d5cadc35fbfe0854fff84134cef666"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ConnectAttempt.html#ac0ca6cfc1e2622ca615a5579d5aae141">stream_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a91d5cadc35fbfe0854fff84134cef666">stream_</a></td></tr>
<tr class="separator:a91d5cadc35fbfe0854fff84134cef666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac28902665c0db123ffba1bc05cfe439c" id="r_ac28902665c0db123ffba1bc05cfe439c"><td class="memItemLeft" align="right" valign="top">boost::beast::multi_buffer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ac28902665c0db123ffba1bc05cfe439c">read_buf_</a></td></tr>
<tr class="separator:ac28902665c0db123ffba1bc05cfe439c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a835d8f1ced3521a794690227d1cfc844" id="r_a835d8f1ced3521a794690227d1cfc844"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ConnectAttempt.html#abcda60a5e2a65fba7eaf20649efb3355">response_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a835d8f1ced3521a794690227d1cfc844">response_</a></td></tr>
<tr class="separator:a835d8f1ced3521a794690227d1cfc844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ae2ced706ca4b210afc190d324052ea" id="r_a4ae2ced706ca4b210afc190d324052ea"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1PeerFinder_1_1Slot.html">PeerFinder::Slot</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a4ae2ced706ca4b210afc190d324052ea">slot_</a></td></tr>
<tr class="separator:a4ae2ced706ca4b210afc190d324052ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af42b801c57e8564e5a97d9dfd535a574" id="r_af42b801c57e8564e5a97d9dfd535a574"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ConnectAttempt.html#af8e0de1d9185fc38f540c1a8642be57f">request_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#af42b801c57e8564e5a97d9dfd535a574">req_</a></td></tr>
<tr class="separator:af42b801c57e8564e5a97d9dfd535a574"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6e9d01a40e6c434d337c825eb0d9e07" id="r_ae6e9d01a40e6c434d337c825eb0d9e07"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#ae6e9d01a40e6c434d337c825eb0d9e07">shutdown_</a> = false</td></tr>
<tr class="separator:ae6e9d01a40e6c434d337c825eb0d9e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c3164bfe8659e60344102242a654d36" id="r_a6c3164bfe8659e60344102242a654d36"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a6c3164bfe8659e60344102242a654d36">ioPending_</a> = false</td></tr>
<tr class="separator:a6c3164bfe8659e60344102242a654d36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d56713406d8c075b23cca29dd5eeefc" id="r_a6d56713406d8c075b23cca29dd5eeefc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a6d56713406d8c075b23cca29dd5eeefc">currentStep_</a> = <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a95b19f7739b0b7ea7d6b07586be54f36">ConnectionStep::Init</a></td></tr>
<tr class="separator:a6d56713406d8c075b23cca29dd5eeefc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-attribs" name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a0f1f27c86eb41ca998d583ac9841c86f" id="r_a0f1f27c86eb41ca998d583ac9841c86f"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1ConnectAttempt.html#a0f1f27c86eb41ca998d583ac9841c86f">connectTimeout</a> {25}</td></tr>
<tr class="separator:a0f1f27c86eb41ca998d583ac9841c86f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Manages outbound peer connection attempts with comprehensive timeout handling. </p>
<p>The <a class="el" href="classripple_1_1ConnectAttempt.html" title="Manages outbound peer connection attempts with comprehensive timeout handling.">ConnectAttempt</a> class handles the complete lifecycle of establishing an outbound connection to a peer in the XRPL network. It implements a sophisticated dual-timer system that provides both global timeout protection and per-step timeout diagnostics.</p>
<p>The connection establishment follows these steps:</p><ol type="1">
<li><b>TCP Connect</b>: Establish basic network connection</li>
<li><b>TLS Handshake</b>: Negotiate SSL/TLS encryption</li>
<li><b>HTTP Write</b>: Send peer handshake request</li>
<li><b>HTTP Read</b>: Receive and validate peer response</li>
<li><b>Complete</b>: Connection successfully established</li>
</ol>
<p>Uses a hybrid timeout approach:</p><ul>
<li><b>Global Timer</b>: Hard limit (20s) for entire connection process</li>
<li><b><a class="el" href="classripple_1_1Step.html" title="A step in a payment path.">Step</a> Timers</b>: Individual timeouts for each connection phase</li>
<li>All errors result in connection termination</li>
</ul>
<p>All operations are serialized using boost::asio::strand to ensure thread safety. The class is designed to be used exclusively within the ASIO event loop.</p>
<dl class="section note"><dt>Note</dt><dd>This class should not be used directly. It is managed by <a class="el" href="classripple_1_1OverlayImpl.html">OverlayImpl</a> as part of the peer discovery and connection management system. </dd></dl>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8h_source.html#l00041">41</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a2dca7ff154f1f994dfa934a54bab62bd" name="a2dca7ff154f1f994dfa934a54bab62bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dca7ff154f1f994dfa934a54bab62bd">&#9670;&#160;</a></span>error_code</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">ripple::ConnectAttempt::error_code</a> = boost::system::error_code</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="ConnectAttempt_8h_source.html#l00045">45</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a89775ec8229e6012ad0783fbd7c9c8e8" name="a89775ec8229e6012ad0783fbd7c9c8e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89775ec8229e6012ad0783fbd7c9c8e8">&#9670;&#160;</a></span>endpoint_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#a89775ec8229e6012ad0783fbd7c9c8e8">ripple::ConnectAttempt::endpoint_type</a> = boost::asio::ip::tcp::endpoint</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="ConnectAttempt_8h_source.html#l00046">46</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="af8e0de1d9185fc38f540c1a8642be57f" name="af8e0de1d9185fc38f540c1a8642be57f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8e0de1d9185fc38f540c1a8642be57f">&#9670;&#160;</a></span>request_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#af8e0de1d9185fc38f540c1a8642be57f">ripple::ConnectAttempt::request_type</a> = boost::beast::http::request&lt;boost::beast::http::empty_body&gt;</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="ConnectAttempt_8h_source.html#l00047">47</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="abcda60a5e2a65fba7eaf20649efb3355" name="abcda60a5e2a65fba7eaf20649efb3355"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcda60a5e2a65fba7eaf20649efb3355">&#9670;&#160;</a></span>response_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#abcda60a5e2a65fba7eaf20649efb3355">ripple::ConnectAttempt::response_type</a> = boost::beast::http::response&lt;boost::beast::http::dynamic_body&gt;</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="ConnectAttempt_8h_source.html#l00049">49</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a25587e81dcab145c3392aee7f1c58277" name="a25587e81dcab145c3392aee7f1c58277"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25587e81dcab145c3392aee7f1c58277">&#9670;&#160;</a></span>socket_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#a25587e81dcab145c3392aee7f1c58277">ripple::ConnectAttempt::socket_type</a> = boost::asio::ip::tcp::socket</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="ConnectAttempt_8h_source.html#l00051">51</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a192f32252df569c2e1578bfe22e063d1" name="a192f32252df569c2e1578bfe22e063d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a192f32252df569c2e1578bfe22e063d1">&#9670;&#160;</a></span>middle_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#a192f32252df569c2e1578bfe22e063d1">ripple::ConnectAttempt::middle_type</a> = boost::beast::tcp_stream</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="ConnectAttempt_8h_source.html#l00052">52</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ac0ca6cfc1e2622ca615a5579d5aae141" name="ac0ca6cfc1e2622ca615a5579d5aae141"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0ca6cfc1e2622ca615a5579d5aae141">&#9670;&#160;</a></span>stream_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#ac0ca6cfc1e2622ca615a5579d5aae141">ripple::ConnectAttempt::stream_type</a> = boost::beast::ssl_stream&lt;<a class="el" href="classripple_1_1ConnectAttempt.html#a192f32252df569c2e1578bfe22e063d1">middle_type</a>&gt;</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="ConnectAttempt_8h_source.html#l00053">53</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a95d8870c340dd0e22544d7c8c156ae11" name="a95d8870c340dd0e22544d7c8c156ae11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95d8870c340dd0e22544d7c8c156ae11">&#9670;&#160;</a></span>shared_context</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classripple_1_1ConnectAttempt.html#a95d8870c340dd0e22544d7c8c156ae11">ripple::ConnectAttempt::shared_context</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt;boost::asio::ssl::context&gt;</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="ConnectAttempt_8h_source.html#l00054">54</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="afb1f4f2f566ea89049b4ff534ea4e236" name="afb1f4f2f566ea89049b4ff534ea4e236"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb1f4f2f566ea89049b4ff534ea4e236">&#9670;&#160;</a></span>ConnectionStep</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ripple::ConnectAttempt::ConnectionStep</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Represents the current phase of the connection establishment process. </p>
<p>Used for tracking progress and providing detailed timeout diagnostics. Each step has its own timeout value defined in <a class="el" href="structripple_1_1ConnectAttempt_1_1StepTimeouts.html" title="Defines timeout values for each connection step.">StepTimeouts</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236a95b19f7739b0b7ea7d6b07586be54f36" name="afb1f4f2f566ea89049b4ff534ea4e236a95b19f7739b0b7ea7d6b07586be54f36"></a>Init&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236a5ad01edf4af80b4519313fc3212d1c20" name="afb1f4f2f566ea89049b4ff534ea4e236a5ad01edf4af80b4519313fc3212d1c20"></a>TcpConnect&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236a46c4b762ef54a456c0747c3ffb73f227" name="afb1f4f2f566ea89049b4ff534ea4e236a46c4b762ef54a456c0747c3ffb73f227"></a>TlsHandshake&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236a85592b64c275ebaa18344ec3b9fdc590" name="afb1f4f2f566ea89049b4ff534ea4e236a85592b64c275ebaa18344ec3b9fdc590"></a>HttpWrite&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236a980454cc92082e9bfdef8a54ebd79af4" name="afb1f4f2f566ea89049b4ff534ea4e236a980454cc92082e9bfdef8a54ebd79af4"></a>HttpRead&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236aae94f80b3ce82062a5dd7815daa04f9d" name="afb1f4f2f566ea89049b4ff534ea4e236aae94f80b3ce82062a5dd7815daa04f9d"></a>Complete&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="afb1f4f2f566ea89049b4ff534ea4e236afba3de0df60f884fb7536fc3e4875027" name="afb1f4f2f566ea89049b4ff534ea4e236afba3de0df60f884fb7536fc3e4875027"></a>ShutdownStarted&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8h_source.html#l00064">64</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6453582a4c20182f909082b1f6bdb7d0" name="a6453582a4c20182f909082b1f6bdb7d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6453582a4c20182f909082b1f6bdb7d0">&#9670;&#160;</a></span>ConnectAttempt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::ConnectAttempt::ConnectAttempt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Application.html">Application</a> &amp;&#160;</td>
<td class="paramname"><em>app</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boost::asio::io_context &amp;&#160;</td>
<td class="paramname"><em>io_context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a89775ec8229e6012ad0783fbd7c9c8e8">endpoint_type</a> const &amp;&#160;</td>
<td class="paramname"><em>remote_endpoint</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1Resource_1_1Consumer.html">Resource::Consumer</a>&#160;</td>
<td class="paramname"><em>usage</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a95d8870c340dd0e22544d7c8c156ae11">shared_context</a> const &amp;&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1Peer.html#a56cc3cdd9c73921f23cb43a2bfa696a1">Peer::id_t</a>&#160;</td>
<td class="paramname"><em>id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="classripple_1_1PeerFinder_1_1Slot.html">PeerFinder::Slot</a> &gt; const &amp;&#160;</td>
<td class="paramname"><em>slot</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>journal</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1OverlayImpl.html">OverlayImpl</a> &amp;&#160;</td>
<td class="paramname"><em>overlay</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a new <a class="el" href="classripple_1_1ConnectAttempt.html" title="Manages outbound peer connection attempts with comprehensive timeout handling.">ConnectAttempt</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">app</td><td><a class="el" href="classripple_1_1Application.html">Application</a> context providing configuration and services </td></tr>
<tr><td class="paramname">io_context</td><td>ASIO I/O context for async operations </td></tr>
<tr><td class="paramname">remote_endpoint</td><td>Target peer endpoint to connect to </td></tr>
<tr><td class="paramname">usage</td><td><a class="el" href="namespaceripple_1_1Resource.html">Resource</a> usage tracker for rate limiting </td></tr>
<tr><td class="paramname">context</td><td>Shared SSL context for encryption </td></tr>
<tr><td class="paramname">id</td><td>Unique peer identifier for this connection attempt </td></tr>
<tr><td class="paramname">slot</td><td><a class="el" href="namespaceripple_1_1PeerFinder.html">PeerFinder</a> slot representing this connection </td></tr>
<tr><td class="paramname">journal</td><td>Logging interface for diagnostics </td></tr>
<tr><td class="paramname">overlay</td><td>Parent overlay manager</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The constructor only initializes the object. Call <a class="el" href="classripple_1_1ConnectAttempt.html#a7ccdafc7519dce6a4d70b95787fcc315" title="Begin the connection attempt.">run()</a> to begin the actual connection attempt. </dd></dl>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00012">12</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a47260286197f5ca9340932dcd12250bb" name="a47260286197f5ca9340932dcd12250bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47260286197f5ca9340932dcd12250bb">&#9670;&#160;</a></span>~ConnectAttempt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ripple::ConnectAttempt::~ConnectAttempt </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00041">41</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a22c40c47432ec6abd8a108fea08b501e" name="a22c40c47432ec6abd8a108fea08b501e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22c40c47432ec6abd8a108fea08b501e">&#9670;&#160;</a></span>stop()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::stop </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stop the connection attempt. </p>
<p>This method is thread-safe and can be called from any thread. </p>
<p>Implements <a class="el" href="classripple_1_1OverlayImpl_1_1Child.html#ac4493bf690681e0f2aa3b597235f0361">ripple::OverlayImpl::Child</a>.</p>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00050">50</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a7ccdafc7519dce6a4d70b95787fcc315" name="a7ccdafc7519dce6a4d70b95787fcc315"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ccdafc7519dce6a4d70b95787fcc315">&#9670;&#160;</a></span>run()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::run </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Begin the connection attempt. </p>
<p>This method is thread-safe and posts to the strand if needed. </p>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00065">65</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="ab21b63f1743fe8f1997e7f242b8d20a1" name="ab21b63f1743fe8f1997e7f242b8d20a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab21b63f1743fe8f1997e7f242b8d20a1">&#9670;&#160;</a></span>setTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::setTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a>&#160;</td>
<td class="paramname"><em>step</em></td><td>)</td>
<td></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>Set timers for the specified connection step. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">step</td><td>The connection step to set timers for</td></tr>
</table>
</dd>
</dl>
<p>Sets both the step-specific timer and the global timer (if not already set). </p>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00193">193</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a27c89b5d8a83f97669ae19bd62e472ad" name="a27c89b5d8a83f97669ae19bd62e472ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27c89b5d8a83f97669ae19bd62e472ad">&#9670;&#160;</a></span>cancelTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::cancelTimer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Cancel both global and step timers. </p>
<p>Used during cleanup and when connection completes successfully. Exceptions from timer cancellation are safely ignored. </p>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00264">264</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="aad507d6327e6b66f2697ff3a5aee1849" name="aad507d6327e6b66f2697ff3a5aee1849"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad507d6327e6b66f2697ff3a5aee1849">&#9670;&#160;</a></span>onTimer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::onTimer </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></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>Handle timer expiration events. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ec</td><td>Error code from timer operation</td></tr>
</table>
</dd>
</dl>
<p>Determines which timer expired (global vs step) and logs appropriate diagnostic information before terminating the connection. </p>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00278">278</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="acd7b070372b08b6f38f419fe907ec9b9" name="acd7b070372b08b6f38f419fe907ec9b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd7b070372b08b6f38f419fe907ec9b9">&#9670;&#160;</a></span>onConnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::onConnect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00318">318</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a7f489c3554733f65393fb11d6852ef78" name="a7f489c3554733f65393fb11d6852ef78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f489c3554733f65393fb11d6852ef78">&#9670;&#160;</a></span>onHandshake()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::onHandshake </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00357">357</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a985f7601d6cce79b3b66b73c2fa583f6" name="a985f7601d6cce79b3b66b73c2fa583f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a985f7601d6cce79b3b66b73c2fa583f6">&#9670;&#160;</a></span>onWrite()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::onWrite </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00416">416</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="ae5ec22a076120a2271fbde792b84f6b0" name="ae5ec22a076120a2271fbde792b84f6b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5ec22a076120a2271fbde792b84f6b0">&#9670;&#160;</a></span>onRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::onRead </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00448">448</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="ad9a0e0b631598c678467eb02d1a03fdb" name="ad9a0e0b631598c678467eb02d1a03fdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9a0e0b631598c678467eb02d1a03fdb">&#9670;&#160;</a></span>fail() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::fail </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;&#160;</td>
<td class="paramname"><em>reason</em></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00179">179</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a082b3c2027183f60f590903932516810" name="a082b3c2027183f60f590903932516810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a082b3c2027183f60f590903932516810">&#9670;&#160;</a></span>fail() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::fail </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></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="ConnectAttempt_8cpp_source.html#l00186">186</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a3ebf50874a83d1cfa0a800f6644b303d" name="a3ebf50874a83d1cfa0a800f6644b303d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ebf50874a83d1cfa0a800f6644b303d">&#9670;&#160;</a></span>shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::shutdown </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00091">91</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a8e9d1fda7cfd441e4458ea43499da3f7" name="a8e9d1fda7cfd441e4458ea43499da3f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e9d1fda7cfd441e4458ea43499da3f7">&#9670;&#160;</a></span>tryAsyncShutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::tryAsyncShutdown </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00107">107</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="abf109bcf3c9ef8e865fd8c4d5c89e903" name="abf109bcf3c9ef8e865fd8c4d5c89e903"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf109bcf3c9ef8e865fd8c4d5c89e903">&#9670;&#160;</a></span>onShutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::onShutdown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#a2dca7ff154f1f994dfa934a54bab62bd">error_code</a>&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00136">136</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="af296702d1c6d038fe463a0ee16d3b2b3" name="af296702d1c6d038fe463a0ee16d3b2b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af296702d1c6d038fe463a0ee16d3b2b3">&#9670;&#160;</a></span>close()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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="ConnectAttempt_8cpp_source.html#l00164">164</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="aa93311abfc27209476e78eaa09df91b5" name="aa93311abfc27209476e78eaa09df91b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa93311abfc27209476e78eaa09df91b5">&#9670;&#160;</a></span>processResponse()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::ConnectAttempt::processResponse </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Process the HTTP upgrade response from peer. </p>
<p>Validates the peer's response, extracts protocol information, verifies handshake, and either creates a <a class="el" href="classripple_1_1PeerImp.html" title="This class manages established peer-to-peer connections, handles message exchange,...">PeerImp</a> or handles redirect responses. </p>
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8cpp_source.html#l00477">477</a> of file <a class="el" href="ConnectAttempt_8cpp_source.html">ConnectAttempt.cpp</a>.</p>
</div>
</div>
<a id="a79b267381e4d43a333150d0519d60846" name="a79b267381e4d43a333150d0519d60846"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79b267381e4d43a333150d0519d60846">&#9670;&#160;</a></span>stepToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> ripple::ConnectAttempt::stepToString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a>&#160;</td>
<td class="paramname"><em>step</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8h_source.html#l00236">236</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="aee0db91a2ff160931fd4aa230ef5098e" name="aee0db91a2ff160931fd4aa230ef5098e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee0db91a2ff160931fd4aa230ef5098e">&#9670;&#160;</a></span>parse_endpoint()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class = void&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static boost::asio::ip::tcp::endpoint ripple::ConnectAttempt::parse_endpoint </td>
<td>(</td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boost::system::error_code &amp;&#160;</td>
<td class="paramname"><em>ec</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8h_source.html#l00260">260</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0f1f27c86eb41ca998d583ac9841c86f" name="a0f1f27c86eb41ca998d583ac9841c86f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f1f27c86eb41ca998d583ac9841c86f">&#9670;&#160;</a></span>connectTimeout</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a> ripple::ConnectAttempt::connectTimeout {25}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="ConnectAttempt_8h_source.html#l00075">75</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ab8f8e97458ff827357c385acdf5a6a4d" name="ab8f8e97458ff827357c385acdf5a6a4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8f8e97458ff827357c385acdf5a6a4d">&#9670;&#160;</a></span>app_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Application.html">Application</a>&amp; ripple::ConnectAttempt::app_</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="ConnectAttempt_8h_source.html#l00099">99</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ae4068c7a4ca32b0df61491ab40c35fc6" name="ae4068c7a4ca32b0df61491ab40c35fc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4068c7a4ca32b0df61491ab40c35fc6">&#9670;&#160;</a></span>id_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Peer.html#a56cc3cdd9c73921f23cb43a2bfa696a1">Peer::id_t</a> const ripple::ConnectAttempt::id_</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="ConnectAttempt_8h_source.html#l00100">100</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ad4bc66cd959dac139f55c3dbf14b9648" name="ad4bc66cd959dac139f55c3dbf14b9648"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4bc66cd959dac139f55c3dbf14b9648">&#9670;&#160;</a></span>sink_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbeast_1_1WrappedSink.html">beast::WrappedSink</a> ripple::ConnectAttempt::sink_</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="ConnectAttempt_8h_source.html#l00101">101</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="af22b000293491c42c76a884354d9e421" name="af22b000293491c42c76a884354d9e421"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af22b000293491c42c76a884354d9e421">&#9670;&#160;</a></span>journal_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> const ripple::ConnectAttempt::journal_</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="ConnectAttempt_8h_source.html#l00102">102</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="afbf101a3d4e0fc8e8fc3bb454c69b318" name="afbf101a3d4e0fc8e8fc3bb454c69b318"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbf101a3d4e0fc8e8fc3bb454c69b318">&#9670;&#160;</a></span>remote_endpoint_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConnectAttempt.html#a89775ec8229e6012ad0783fbd7c9c8e8">endpoint_type</a> ripple::ConnectAttempt::remote_endpoint_</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="ConnectAttempt_8h_source.html#l00103">103</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a6e475427118da2fc55457d9d65bd4856" name="a6e475427118da2fc55457d9d65bd4856"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e475427118da2fc55457d9d65bd4856">&#9670;&#160;</a></span>usage_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1Resource_1_1Consumer.html">Resource::Consumer</a> ripple::ConnectAttempt::usage_</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="ConnectAttempt_8h_source.html#l00104">104</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a701066ec2a8291dbbb5430a6dee67124" name="a701066ec2a8291dbbb5430a6dee67124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a701066ec2a8291dbbb5430a6dee67124">&#9670;&#160;</a></span>strand_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::asio::strand&lt;boost::asio::io_context::executor_type&gt; ripple::ConnectAttempt::strand_</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="ConnectAttempt_8h_source.html#l00106">106</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="afbbbebb7967570f0295e0c2960367d1d" name="afbbbebb7967570f0295e0c2960367d1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbbbebb7967570f0295e0c2960367d1d">&#9670;&#160;</a></span>timer_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::asio::basic_waitable_timer&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>&gt; ripple::ConnectAttempt::timer_</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="ConnectAttempt_8h_source.html#l00107">107</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="afda5c812ab2499499ab389c9f2875927" name="afda5c812ab2499499ab389c9f2875927"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afda5c812ab2499499ab389c9f2875927">&#9670;&#160;</a></span>stepTimer_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::asio::basic_waitable_timer&lt;<a class="elRef" href="http://en.cppreference.com/w/cpp/chrono/steady_clock.html">std::chrono::steady_clock</a>&gt; ripple::ConnectAttempt::stepTimer_</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="ConnectAttempt_8h_source.html#l00108">108</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a3fa5430b0c02e245933c979b27ab4022" name="a3fa5430b0c02e245933c979b27ab4022"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fa5430b0c02e245933c979b27ab4022">&#9670;&#160;</a></span>stream_ptr_</h2>
<div class="memitem">
<div class="memproto">
<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/memory/unique_ptr.html">std::unique_ptr</a>&lt;<a class="el" href="classripple_1_1ConnectAttempt.html#ac0ca6cfc1e2622ca615a5579d5aae141">stream_type</a>&gt; ripple::ConnectAttempt::stream_ptr_</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="ConnectAttempt_8h_source.html#l00110">110</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a4ef879770a2826cc01cc0d2c8923957a" name="a4ef879770a2826cc01cc0d2c8923957a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ef879770a2826cc01cc0d2c8923957a">&#9670;&#160;</a></span>socket_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConnectAttempt.html#a25587e81dcab145c3392aee7f1c58277">socket_type</a>&amp; ripple::ConnectAttempt::socket_</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="ConnectAttempt_8h_source.html#l00111">111</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a91d5cadc35fbfe0854fff84134cef666" name="a91d5cadc35fbfe0854fff84134cef666"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91d5cadc35fbfe0854fff84134cef666">&#9670;&#160;</a></span>stream_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConnectAttempt.html#ac0ca6cfc1e2622ca615a5579d5aae141">stream_type</a>&amp; ripple::ConnectAttempt::stream_</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="ConnectAttempt_8h_source.html#l00112">112</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ac28902665c0db123ffba1bc05cfe439c" name="ac28902665c0db123ffba1bc05cfe439c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac28902665c0db123ffba1bc05cfe439c">&#9670;&#160;</a></span>read_buf_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">boost::beast::multi_buffer ripple::ConnectAttempt::read_buf_</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="ConnectAttempt_8h_source.html#l00113">113</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a835d8f1ced3521a794690227d1cfc844" name="a835d8f1ced3521a794690227d1cfc844"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a835d8f1ced3521a794690227d1cfc844">&#9670;&#160;</a></span>response_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConnectAttempt.html#abcda60a5e2a65fba7eaf20649efb3355">response_type</a> ripple::ConnectAttempt::response_</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="ConnectAttempt_8h_source.html#l00115">115</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a4ae2ced706ca4b210afc190d324052ea" name="a4ae2ced706ca4b210afc190d324052ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ae2ced706ca4b210afc190d324052ea">&#9670;&#160;</a></span>slot_</h2>
<div class="memitem">
<div class="memproto">
<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/memory/shared_ptr.html">std::shared_ptr</a>&lt;<a class="el" href="classripple_1_1PeerFinder_1_1Slot.html">PeerFinder::Slot</a>&gt; ripple::ConnectAttempt::slot_</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="ConnectAttempt_8h_source.html#l00116">116</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="af42b801c57e8564e5a97d9dfd535a574" name="af42b801c57e8564e5a97d9dfd535a574"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af42b801c57e8564e5a97d9dfd535a574">&#9670;&#160;</a></span>req_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConnectAttempt.html#af8e0de1d9185fc38f540c1a8642be57f">request_type</a> ripple::ConnectAttempt::req_</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="ConnectAttempt_8h_source.html#l00117">117</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ae6e9d01a40e6c434d337c825eb0d9e07" name="ae6e9d01a40e6c434d337c825eb0d9e07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6e9d01a40e6c434d337c825eb0d9e07">&#9670;&#160;</a></span>shutdown_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::ConnectAttempt::shutdown_ = false</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="ConnectAttempt_8h_source.html#l00119">119</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a6c3164bfe8659e60344102242a654d36" name="a6c3164bfe8659e60344102242a654d36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c3164bfe8659e60344102242a654d36">&#9670;&#160;</a></span>ioPending_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ripple::ConnectAttempt::ioPending_ = false</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="ConnectAttempt_8h_source.html#l00120">120</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="a6d56713406d8c075b23cca29dd5eeefc" name="a6d56713406d8c075b23cca29dd5eeefc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d56713406d8c075b23cca29dd5eeefc">&#9670;&#160;</a></span>currentStep_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236">ConnectionStep</a> ripple::ConnectAttempt::currentStep_ = <a class="el" href="classripple_1_1ConnectAttempt.html#afb1f4f2f566ea89049b4ff534ea4e236a95b19f7739b0b7ea7d6b07586be54f36">ConnectionStep::Init</a></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="ConnectAttempt_8h_source.html#l00121">121</a> of file <a class="el" href="ConnectAttempt_8h_source.html">ConnectAttempt.h</a>.</p>
</div>
</div>
<a id="ac48a68b0e553ec566f03e3f7d538beec" name="ac48a68b0e553ec566f03e3f7d538beec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac48a68b0e553ec566f03e3f7d538beec">&#9670;&#160;</a></span>overlay_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1OverlayImpl.html">OverlayImpl</a>&amp; ripple::OverlayImpl::Child::overlay_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="OverlayImpl_8h_source.html#l00049">49</a> of file <a class="el" href="OverlayImpl_8h_source.html">OverlayImpl.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.8
</small></address>
</body>
</html>