private void InitializeCommunicationLayer() { INodeConfiguration nodeConfiguration = _configurationService.Get <INodeConfiguration>(); foreach (string communicationServiceName in nodeConfiguration.CommunicationServices) { CommunicationConfigurationBase communicationConfiguration = (CommunicationConfigurationBase)_configurationService[communicationServiceName]; IServerCommunicationService serverCommunicationService = _communicationServicesFactory.GetInstance(communicationConfiguration.CommunicationServiceName); serverCommunicationService.Init(new SocketListenerSettings(communicationConfiguration.MaxConnections, communicationConfiguration.ReceiveBufferSize, new IPEndPoint(IPAddress.Any, communicationConfiguration.ListeningPort))); _communicationServicesRegistry.RegisterInstance(serverCommunicationService, communicationConfiguration.CommunicationServiceName); } _packetsHandler.Initialize(_cancellationTokenSource.Token); }
internal void Start() { INodeConfiguration nodeConfiguration = _configurationService.Get <INodeConfiguration>(); foreach (string communicationServiceName in nodeConfiguration.CommunicationServices) { CommunicationConfigurationBase communicationConfiguration = (CommunicationConfigurationBase)_configurationService[communicationServiceName]; _communicationServicesRegistry.GetInstance(communicationConfiguration.CommunicationServiceName).Start(); } _packetsHandler.Start(); foreach (IModule module in _modulesRepository.GetBulkInstances()) { module.Start(); } }
public NetworkSynchronizer(IBlockCreator blockCreator, IClientCommunicationServiceRepository clientCommunicationServiceRepository, ICryptoService cryptoService, IDataAccessService dataAccessService, IHashCalculationsRepository hashCalculationsRepository, IConfigurationService configurationService, IBlockParsersRepositoriesRepository blockParsersRepositoriesRepository, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, INodesResolutionService nodesResolutionService, IStatesRepository statesRepository, ILoggerService loggerService) { _cryptoService = cryptoService; _dataAccessService = dataAccessService; _blockCreator = blockCreator; _communicationService = clientCommunicationServiceRepository.GetInstance("TcpClientCommunicationService"); _defaultHashCalculation = hashCalculationsRepository.Create(Globals.DEFAULT_HASH); _synchronizerConfiguration = configurationService.Get <ISynchronizerConfiguration>(); _communicationConfiguration = (CommunicationConfigurationBase)configurationService["generalTcpCommunication"]; _blockParsersRepositoriesRepository = blockParsersRepositoriesRepository; _nodesResolutionService = nodesResolutionService; _identityKeyProvider = identityKeyProvidersRegistry.GetInstance(); _clientState = statesRepository.GetInstance <IClientState>(); _logger = loggerService.GetLogger(nameof(NetworkSynchronizer)); }