mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Redesign CSF framework (RIPD-1361):
- Separate `Scheduler` from `BasicNetwork`. - Add an event/collector framework for monitoring invariants and calculating statistics. - Allow distinct network and trust connections between Peers. - Add a simple routing strategy to support broadcasting arbitrary messages. - Add a common directed graph (`Digraph`) class for representing network and trust topologies. - Add a `PeerGroup` class for simpler specification of the trust and network topologies. - Add a `LedgerOracle` class to ensure distinct ledger histories and simplify branch checking. - Add a `Submitter` to send transactions in at fixed or random intervals to fixed or random peers. Co-authored-by: Joseph McGee
This commit is contained in:
@@ -4489,14 +4489,26 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\ByzantineFailureSim_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\Consensus_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\DistributedValidatorsSim_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\LedgerTiming_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\ScaleFreeSim_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\Validations_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
@@ -4545,19 +4557,61 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\csf\impl\UNL.cpp">
|
||||
<ClInclude Include="..\..\src\test\csf\CollectorRef.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\collectors.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Digraph.h">
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\csf\Digraph_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\Ledger.h">
|
||||
<ClInclude Include="..\..\src\test\csf\events.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Histogram.h">
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\csf\Histogram_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\csf\impl\ledgers.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\csf\impl\Sim.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\ledgers.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Peer.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\PeerGroup.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Proposal.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\random.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Scheduler.h">
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\csf\Scheduler_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release|x64'">True</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\Sim.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\SimTime.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\submitters.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\timers.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\TrustGraph.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Tx.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\UNL.h">
|
||||
<ClInclude Include="..\..\src\test\csf\Validation.h">
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\json\json_value_test.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug|x64'">True</ExcludedFromBuild>
|
||||
|
||||
@@ -5250,12 +5250,21 @@
|
||||
<ClCompile Include="..\..\src\test\conditions\PreimageSha256_test.cpp">
|
||||
<Filter>test\conditions</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\ByzantineFailureSim_test.cpp">
|
||||
<Filter>test\consensus</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\Consensus_test.cpp">
|
||||
<Filter>test\consensus</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\DistributedValidatorsSim_test.cpp">
|
||||
<Filter>test\consensus</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\LedgerTiming_test.cpp">
|
||||
<Filter>test\consensus</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\ScaleFreeSim_test.cpp">
|
||||
<Filter>test\consensus</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\consensus\Validations_test.cpp">
|
||||
<Filter>test\consensus</Filter>
|
||||
</ClCompile>
|
||||
@@ -5295,22 +5304,73 @@
|
||||
<ClCompile Include="..\..\src\test\csf\BasicNetwork_test.cpp">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\csf\impl\UNL.cpp">
|
||||
<ClInclude Include="..\..\src\test\csf\CollectorRef.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\collectors.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Digraph.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\csf\Digraph_test.cpp">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\events.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Histogram.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\csf\Histogram_test.cpp">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\test\csf\impl\ledgers.cpp">
|
||||
<Filter>test\csf\impl</Filter>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\Ledger.h">
|
||||
<ClCompile Include="..\..\src\test\csf\impl\Sim.cpp">
|
||||
<Filter>test\csf\impl</Filter>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\ledgers.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Peer.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\PeerGroup.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Proposal.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\random.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Scheduler.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\csf\Scheduler_test.cpp">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClCompile>
|
||||
<ClInclude Include="..\..\src\test\csf\Sim.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\SimTime.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\submitters.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\timers.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\TrustGraph.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\Tx.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\test\csf\UNL.h">
|
||||
<ClInclude Include="..\..\src\test\csf\Validation.h">
|
||||
<Filter>test\csf</Filter>
|
||||
</ClInclude>
|
||||
<ClCompile Include="..\..\src\test\json\json_value_test.cpp">
|
||||
|
||||
Reference in New Issue
Block a user