Remove transaction set acquire logic from consensus object

This creates a new InboundTransactions object that handles transaction sets,
removing this responsibility from the consensus object. The main benefit is
that many inbound transaction operations no longer require the master lock.

Improve logic to decide which peers to query, when to add more peers, and
when to re-query existing peers.
This commit is contained in:
David Schwartz
2015-03-09 11:39:52 -07:00
committed by Tom Ritchford
parent 00596f1436
commit 1fedede771
15 changed files with 575 additions and 321 deletions

View File

@@ -1047,6 +1047,8 @@
</ClCompile>
<ClInclude Include="..\..\src\beast\beast\utility\Journal.h">
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\utility\make_lock.h">
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\utility\maybe_const.h">
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\utility\meta.h">
@@ -1945,6 +1947,8 @@
<ClCompile Include="..\..\src\ripple\app\tests\Path_test.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug.classic|x64'">..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release.classic|x64'">..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ClCompile Include="..\..\src\ripple\app\transactors\CancelOffer.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
@@ -2008,6 +2012,14 @@
</ClCompile>
<ClInclude Include="..\..\src\ripple\app\transactors\Transactor.h">
</ClInclude>
<ClCompile Include="..\..\src\ripple\app\tx\InboundTransactions.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug.classic|x64'">..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release.classic|x64'">..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ClInclude Include="..\..\src\ripple\app\tx\InboundTransactions.h">
</ClInclude>
<ClCompile Include="..\..\src\ripple\app\tx\LocalTxs.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>

View File

@@ -1707,6 +1707,9 @@
<ClInclude Include="..\..\src\beast\beast\utility\Journal.h">
<Filter>beast\utility</Filter>
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\utility\make_lock.h">
<Filter>beast\utility</Filter>
</ClInclude>
<ClInclude Include="..\..\src\beast\beast\utility\maybe_const.h">
<Filter>beast\utility</Filter>
</ClInclude>
@@ -2571,6 +2574,12 @@
<ClInclude Include="..\..\src\ripple\app\transactors\Transactor.h">
<Filter>ripple\app\transactors</Filter>
</ClInclude>
<ClCompile Include="..\..\src\ripple\app\tx\InboundTransactions.cpp">
<Filter>ripple\app\tx</Filter>
</ClCompile>
<ClInclude Include="..\..\src\ripple\app\tx\InboundTransactions.h">
<Filter>ripple\app\tx</Filter>
</ClInclude>
<ClCompile Include="..\..\src\ripple\app\tx\LocalTxs.cpp">
<Filter>ripple\app\tx</Filter>
</ClCompile>