コード例 #1
0
        public TransactionsRegistryHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry,
                                           IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService,
                                           IHashCalculationsRepository hashCalculationRepository, ISerializersFactory signatureSupportSerializersFactory, ILoggerService loggerService)
        {
            _registrationBlocks                 = new BlockingCollection <ITransactionRegistryBlock>();
            _registryGroupState                 = statesRepository.GetInstance <IRegistryGroupState>();
            _synchronizationContext             = statesRepository.GetInstance <ISynchronizationContext>();
            _nodeContext                        = statesRepository.GetInstance <INodeContext>();
            _communicationServicesRegistry      = communicationServicesRegistry;
            _rawPacketProvidersFactory          = rawPacketProvidersFactory;
            _registryMemPool                    = registryMemPool;
            _configurationService               = configurationService;
            _signatureSupportSerializersFactory = signatureSupportSerializersFactory;
            _defaulHashCalculation              = hashCalculationRepository.Create(Globals.DEFAULT_HASH);
            _powCalculation                     = hashCalculationRepository.Create(Globals.POW_TYPE);
            _logger = loggerService.GetLogger(nameof(TransactionsRegistryHandler));

            TransformBlock <RegistryShortBlock, RegistryConfidenceBlock> produceConfidenceBlock = new TransformBlock <RegistryShortBlock, RegistryConfidenceBlock>((Func <RegistryShortBlock, RegistryConfidenceBlock>)GetConfidence);
            ActionBlock <RegistryConfidenceBlock> sendConfidenceBlock = new ActionBlock <RegistryConfidenceBlock>((Action <RegistryConfidenceBlock>)SendConfidence);

            produceConfidenceBlock.LinkTo(sendConfidenceBlock);
            _transactionsRegistryConfidenceFlow = produceConfidenceBlock;

            ActionBlock <RegistryConfirmationBlock> confirmationProcessingBlock = new ActionBlock <RegistryConfirmationBlock>((Action <RegistryConfirmationBlock>)ProcessConfirmationBlock);

            _confirmationBlockFlow = confirmationProcessingBlock;
        }
コード例 #2
0
 public SynchronizationReceivingHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IChainDataServicesManager chainDataServicesManager, IHashCalculationsRepository hashCalculationsRepository)
 {
     _synchronizationContext        = statesRepository.GetInstance <ISynchronizationContext>();
     _neighborhoodState             = statesRepository.GetInstance <INeighborhoodState>();
     _synchronizationBlocks         = new BlockingCollection <SynchronizationConfirmedBlock>();
     _communicationServicesRegistry = communicationServicesRegistry;
     _rawPacketProvidersFactory     = rawPacketProvidersFactory;
     _chainDataService = chainDataServicesManager.GetChainDataService(PacketType.Synchronization);
     _hashCalculation  = hashCalculationsRepository.Create(Globals.DEFAULT_HASH);
 }
コード例 #3
0
        public TransactionsRegistryHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry,
                                           IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService,
                                           IHashCalculationsRepository hashCalculationRepository, ILoggerService loggerService)
        {
            _registryStateBlocks           = new BlockingCollection <RegistryRegisterBlock>();
            _registryUtxoBlocks            = new BlockingCollection <RegistryRegisterUtxoConfidential>();
            _registryGroupState            = statesRepository.GetInstance <IRegistryGroupState>();
            _synchronizationContext        = statesRepository.GetInstance <ISynchronizationContext>();
            _nodeContext                   = statesRepository.GetInstance <INodeContext>();
            _communicationServicesRegistry = communicationServicesRegistry;
            _rawPacketProvidersFactory     = rawPacketProvidersFactory;
            _registryMemPool               = registryMemPool;
            _configurationService          = configurationService;
            _defaulHashCalculation         = hashCalculationRepository.Create(Globals.DEFAULT_HASH);
            _powCalculation                = hashCalculationRepository.Create(Globals.POW_TYPE);
            _logger = loggerService.GetLogger(nameof(TransactionsRegistryHandler));

            _processWitnessedFlow = new ActionBlock <RegistryShortBlock>((Action <RegistryShortBlock>)ProcessWitnessed);
        }
コード例 #4
0
 public TransactionsRegistrySyncHandler(IStatesRepository statesRepository, ISyncShardsManager syncShardsManager, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry,
                                        ICryptoService cryptoService, ISerializersFactory signatureSupportSerializersFactory, IHashCalculationsRepository hashCalculationsRepository,
                                        IServerCommunicationServicesRegistry communicationServicesRegistry, ISyncRegistryMemPool syncRegistryMemPool, INodesResolutionService nodesResolutionService,
                                        IChainDataServicesManager chainDataServicesManager, IRawPacketProvidersFactory rawPacketProvidersFactory, ILoggerService loggerService)
 {
     _registryBlocks                = new BlockingCollection <RegistryBlockBase>();
     _synchronizationContext        = statesRepository.GetInstance <ISynchronizationContext>();
     _syncRegistryNeighborhoodState = statesRepository.GetInstance <ISyncRegistryNeighborhoodState>();
     _syncContextChangedUnsibsciber = _synchronizationContext.SubscribeOnStateChange(new ActionBlock <string>((Action <string>)SynchronizationStateChanged));
     _syncShardsManager             = syncShardsManager;
     _transactionHashKey            = identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider();
     _cryptoService = cryptoService;
     _signatureSupportSerializersFactory = signatureSupportSerializersFactory;
     _defaultTransactionHashCalculation  = hashCalculationsRepository.Create(Globals.DEFAULT_HASH);
     _powCalculation = hashCalculationsRepository.Create(Globals.POW_TYPE);
     _communicationServicesRegistry   = communicationServicesRegistry;
     _syncRegistryMemPool             = syncRegistryMemPool;
     _nodesResolutionService          = nodesResolutionService;
     _rawPacketProvidersFactory       = rawPacketProvidersFactory;
     _synchronizationChainDataService = chainDataServicesManager.GetChainDataService(PacketType.Synchronization);
     _registryChainDataService        = chainDataServicesManager.GetChainDataService(PacketType.Registry);
     _logger = loggerService.GetLogger(nameof(TransactionsRegistrySyncHandler));
 }
コード例 #5
0
 public UtxoConfidentialStorageHandler(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationRepository, IChainDataServicesManager chainDataServicesManager) : base(statesRepository, communicationServicesRegistry, rawPacketProvidersFactory, registryMemPool, configurationService, hashCalculationRepository, chainDataServicesManager)
 {
 }
コード例 #6
0
 public StorageHandlerBase(IStatesRepository statesRepository, IServerCommunicationServicesRegistry communicationServicesRegistry, IRawPacketProvidersFactory rawPacketProvidersFactory, IRegistryMemPool registryMemPool, IConfigurationService configurationService, IHashCalculationsRepository hashCalculationRepository, IChainDataServicesManager chainDataServicesManager)
 {
     _nodeContext = statesRepository.GetInstance <INodeContext>();
     _communicationServicesRegistry = communicationServicesRegistry;
     _chainDataServicesManager      = chainDataServicesManager;
 }
コード例 #7
0
 public RawPacketProvider(IRawPacketProvidersFactory rawPacketProvidersFactory, IIdentityKeyProvidersRegistry identityKeyProvidersRegistry, IHashCalculationsRepository hashCalculationsRepository)
 {
     _rawPacketProvidersFactory         = rawPacketProvidersFactory;
     _transactionKeyIdentityKeyProvider = identityKeyProvidersRegistry.GetTransactionsIdenityKeyProvider();
     _transactionKeyHashCalculation     = hashCalculationsRepository.Create(HashType.MurMur);
 }