public void TryGet_Null()
        {
            int chainId = 123;

            var actualBlockInfoCache = _multiChainBlockInfoCacheProvider.GetBlockInfoCache(chainId);

            Assert.Null(actualBlockInfoCache);
        }
        public long GetNeededChainHeightForCache(int chainId)
        {
            var blockInfoCache = _multiChainBlockInfoCacheProvider.GetBlockInfoCache(chainId);

            if (blockInfoCache == null)
            {
                throw new ChainCacheNotFoundException($"Chain {ChainHelpers.ConvertChainIdToBase58(chainId)} cache not found.");
            }
            return(blockInfoCache.TargetChainHeight());
        }
Пример #3
0
        public T TryTake <T>(int crossChainId, long height, bool isCacheSizeLimited)
        {
            var blockInfoCache = _multiChainBlockInfoCacheProvider.GetBlockInfoCache(crossChainId);

            if (blockInfoCache == null)
            {
                return(default(T));
            }
            if (blockInfoCache.TryTake(height, out var blockInfo, isCacheSizeLimited))
            {
                return((T)blockInfo);
            }

            return(default(T));
        }
Пример #4
0
        public bool AddNewBlockInfo(IBlockInfo blockInfo)
        {
            if (blockInfo == null)
            {
                return(false);
            }
            var blockInfoCache = _multiChainBlockInfoCacheProvider.GetBlockInfoCache(blockInfo.ChainId);

            if (blockInfoCache == null)
            {
                return(false);
            }
            var res = blockInfoCache.TryAdd(blockInfo);

            return(res);
        }