diff --git a/src/Nethermind/Nethermind.Synchronization.Test/SynchronizerModuleTests.cs b/src/Nethermind/Nethermind.Synchronization.Test/SynchronizerModuleTests.cs index 3920eb07a27..d635aadccf8 100644 --- a/src/Nethermind/Nethermind.Synchronization.Test/SynchronizerModuleTests.cs +++ b/src/Nethermind/Nethermind.Synchronization.Test/SynchronizerModuleTests.cs @@ -8,9 +8,11 @@ using Nethermind.Core; using Nethermind.Core.Test.Builders; using Nethermind.Core.Test.Modules; +using Nethermind.Network.Config; using Nethermind.State; using Nethermind.Synchronization.FastSync; using Nethermind.Synchronization.ParallelSync; +using Nethermind.Synchronization.Peers; using NSubstitute; using NUnit.Framework; @@ -52,4 +54,21 @@ public async Task TestOnTreeSyncFinish_CallVisit() .Received(1) .VerifyTrie(Arg.Any(), Arg.Any()); } + + [Test] + public void SyncPeerPool_should_use_INetworkConfig_MaxActivePeers() + { + NetworkConfig networkConfig = new() { MaxActivePeers = 75 }; + + using IContainer container = new ContainerBuilder() + .AddModule(new TestNethermindModule(networkConfig)) + .AddModule(new SynchronizerModule(new TestSyncConfig())) + .AddSingleton(Substitute.For()) + .AddSingleton(Substitute.For()) + .Build(); + + SyncPeerPool pool = container.Resolve(); + + Assert.That(pool.PeerMaxCount, Is.EqualTo(75)); + } } diff --git a/src/Nethermind/Nethermind.Synchronization/Peers/SyncPeerPool.cs b/src/Nethermind/Nethermind.Synchronization/Peers/SyncPeerPool.cs index 99adcbd3eeb..4cdc6c68723 100644 --- a/src/Nethermind/Nethermind.Synchronization/Peers/SyncPeerPool.cs +++ b/src/Nethermind/Nethermind.Synchronization/Peers/SyncPeerPool.cs @@ -15,6 +15,7 @@ using Nethermind.Blockchain.Synchronization; using Nethermind.Consensus.Validators; using Nethermind.Core; +using Nethermind.Core.Container; using Nethermind.Core.Crypto; using Nethermind.Core.Extensions; using Nethermind.Int256; @@ -61,6 +62,7 @@ public class SyncPeerPool : ISyncPeerPool, IPeerDifficultyRefreshPool private readonly TimeSpan _timeBeforeWakingShallowSleepingPeerUp = TimeSpan.FromMilliseconds(DefaultUpgradeIntervalInMs); private Timer? _upgradeTimer; + [UseConstructorForDependencyInjection] public SyncPeerPool(IBlockTree blockTree, INodeStatsManager nodeStatsManager, IBetterPeerStrategy betterPeerStrategy,