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()); }
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)); }
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); }