Esempio n. 1
0
        public async Task <bool> StartIndexingRequest(int chainId, long targetHeight,
                                                      ICrossChainDataProducer crossChainDataProducer)
        {
            var requestData = new RequestCrossChainBlockData
            {
                FromChainId = LocalChainId,
                NextHeight  = targetHeight
            };

            using (var serverStream = RequestIndexing(requestData))
            {
                while (await serverStream.ResponseStream.MoveNext())
                {
                    var response = serverStream.ResponseStream.Current;

                    // requestCrossChain failed or useless response
                    if (!response.Success || !crossChainDataProducer.AddNewBlockInfo(response.BlockInfoResult))
                    {
                        break;
                    }

                    crossChainDataProducer.Logger.LogTrace(
                        $"Received response from chain {ChainHelpers.ConvertChainIdToBase58(response.BlockInfoResult.ChainId)} at height {response.Height}");
                }
            }

            return(true);
        }
Esempio n. 2
0
        public GrpcClientTests()
        {
            _server                 = GetRequiredService <ICrossChainServer>();
            _certificateStore       = GetRequiredService <ICertificateStore>();
            _crossChainDataProducer = GetRequiredService <ICrossChainDataProducer>();

            InitServerAndClient();
        }
Esempio n. 3
0
 protected CrossChainWithChainTestBase()
 {
     _crossChainDataProducer       = Application.ServiceProvider.GetRequiredService <ICrossChainDataProducer>();
     _crossChainMemoryCacheService = Application.ServiceProvider.GetRequiredService <ICrossChainMemoryCacheService>();
 }
Esempio n. 4
0
 public CrossChainTestBase()
 {
     MultiChainBlockInfoCacheProvider = GetRequiredService <IMultiChainBlockInfoCacheProvider>();
     CrossChainDataProducer           = GetRequiredService <ICrossChainDataProducer>();
     CrossChainMemoryCacheService     = GetRequiredService <ICrossChainMemoryCacheService>();
 }
Esempio n. 5
0
 public CrossChainDataProducerTest()
 {
     _crossChainDataProducer = GetRequiredService <ICrossChainDataProducer>();
 }
Esempio n. 6
0
 public CrossChainGrpcClientController(ICrossChainDataProducer crossChainDataProducer,
                                       ICrossChainMemoryCacheService crossChainMemoryCacheService)
 {
     _crossChainDataProducer       = crossChainDataProducer;
     _crossChainMemoryCacheService = crossChainMemoryCacheService;
 }