private async Task Setup() { _peerChallengeRequest = ContainerProvider.Container.Resolve <IPeerChallengeRequest>(); var eventLoopGroupFactoryConfiguration = new EventLoopGroupFactoryConfiguration { TcpClientHandlerWorkerThreads = 2, TcpServerHandlerWorkerThreads = 3, UdpServerHandlerWorkerThreads = 4, UdpClientHandlerWorkerThreads = 5 }; var keySigner = ContainerProvider.Container.Resolve <IKeySigner>(); // @@ _peerService = new PeerService( new UdpServerEventLoopGroupFactory(eventLoopGroupFactoryConfiguration), new PeerServerChannelFactory(ContainerProvider.Container.Resolve <IPeerMessageCorrelationManager>(), ContainerProvider.Container.Resolve <IBroadcastManager>(), keySigner, ContainerProvider.Container.Resolve <IPeerIdValidator>(), ContainerProvider.Container.Resolve <IPeerSettings>()), new DiscoveryHelper.DevDiscover(), ContainerProvider.Container.Resolve <IEnumerable <IP2PMessageObserver> >(), _peerSettings, ContainerProvider.Container.Resolve <ILogger>(), ContainerProvider.Container.Resolve <IHealthChecker>()); await _peerService.StartAsync(); }
public PingResponseObserver(IPeerChallengeRequest peerChallengeRequest, IPeerRepository peerRepository, ILogger logger) : base(logger) { _peerChallengeRequest = peerChallengeRequest; _peerRepository = peerRepository; ResponseMessageSubject = new ReplaySubject <IPeerClientMessageDto>(1); }
public void Init() { Setup(TestContext.CurrentContext); var logger = Substitute.For <ILogger>(); var keyRegistry = TestKeyRegistry.MockKeyRegistry(); ContainerProvider.ContainerBuilder.RegisterInstance(keyRegistry).As <IKeyRegistry>(); ContainerProvider.ContainerBuilder.RegisterModule(new KeystoreModule()); ContainerProvider.ContainerBuilder.RegisterModule(new KeySignerModule()); ContainerProvider.ContainerBuilder.RegisterModule(new HashingModule()); ContainerProvider.ContainerBuilder.RegisterModule(new BulletProofsModule()); _peerSettings = new PeerSettings(ContainerProvider.ConfigurationRoot); var peerSettings = PeerIdHelper.GetPeerId("sender", _peerSettings.BindAddress, _peerSettings.Port) .ToSubstitutedPeerSettings(); ContainerProvider.ContainerBuilder.Register(c => { var peerClient = c.Resolve <IPeerClient>(); peerClient.StartAsync().ConfigureAwait(false).GetAwaiter().GetResult(); return(new PeerChallengeRequest(logger, peerClient, peerSettings, 10)); }).As <IPeerChallengeRequest>().SingleInstance(); _peerChallengeRequest = ContainerProvider.Container.Resolve <IPeerChallengeRequest>(); var eventLoopGroupFactoryConfiguration = new EventLoopGroupFactoryConfiguration { TcpClientHandlerWorkerThreads = 2, TcpServerHandlerWorkerThreads = 3, UdpServerHandlerWorkerThreads = 4, UdpClientHandlerWorkerThreads = 5 }; var keySigner = ContainerProvider.Container.Resolve <IKeySigner>(); // @@ _peerService = new PeerService( new UdpServerEventLoopGroupFactory(eventLoopGroupFactoryConfiguration), new PeerServerChannelFactory(ContainerProvider.Container.Resolve <IPeerMessageCorrelationManager>(), ContainerProvider.Container.Resolve <IBroadcastManager>(), keySigner, ContainerProvider.Container.Resolve <IPeerIdValidator>(), ContainerProvider.Container.Resolve <IPeerSettings>()), new DiscoveryHelper.DevDiscover(), ContainerProvider.Container.Resolve <IEnumerable <IP2PMessageObserver> >(), _peerSettings, ContainerProvider.Container.Resolve <ILogger>(), ContainerProvider.Container.Resolve <IHealthChecker>()); _peerService.StartAsync().Wait(); }
public PeerHeartbeatChecker(ILogger logger, IPeerRepository peerRepository, IPeerChallengeRequest peerChallengeRequest, int checkHeartbeatIntervalSeconds, int maxNonResponsiveCounter) { _logger = logger; _nonResponsivePeerMap = new ConcurrentDictionary <string, int>(); _peerRepository = peerRepository; _maxNonResponsiveCounter = maxNonResponsiveCounter; _peerChallengeRequest = peerChallengeRequest; _checkHeartbeatInterval = TimeSpan.FromSeconds(checkHeartbeatIntervalSeconds); }
public void Init() { var subbedPeerClient = Substitute.For <IPeerClient>(); _testSettings = PeerSettingsHelper.TestPeerSettings(); _cancellationProvider = new CancellationTokenProvider(TimeSpan.FromSeconds(10)); _peerChallengeRequest = new PeerChallengeRequest( Substitute.For <ILogger>(), subbedPeerClient, _testSettings, 10 ); }
public PingResponseObserver(ILogger logger, IPeerChallengeRequest peerChallengeRequest) : base(logger) { _peerChallengeRequest = peerChallengeRequest; ResponseMessageSubject = new ReplaySubject <IPeerClientMessageDto>(1); }