public async ValueTask <RemotableData?> TryGetRemotableDataAsync(Checksum checksum, CancellationToken cancellationToken) { var finder = new SolutionChecksumFinder(SolutionState, _serializer, cancellationToken); var syncObject = await finder.FindAsync(checksum).ConfigureAwait(false); if (syncObject != null) { return(syncObject); } // this cache has no reference to the given checksum return(null); }
public void AppendRemotableData(HashSet <Checksum> searchingChecksumsLeft, Dictionary <Checksum, RemotableData> result, CancellationToken cancellationToken) { var finder = new SolutionChecksumFinder(SolutionState, _serializer, cancellationToken); finder.Append(searchingChecksumsLeft, result); if (searchingChecksumsLeft.Count == 0) { // there is no checksum left to find return; } // storage has extra data that we need to search as well if (_additionalAssets == null) { // checksum looks like belong to global asset return; } AppendRemotableDataFromAdditionalAssets(result, searchingChecksumsLeft, cancellationToken); }
public RemotableData TryGetRemotableData(Checksum checksum, CancellationToken cancellationToken) { var finder = new SolutionChecksumFinder(SolutionState, _serializer, cancellationToken); var syncObject = finder.Find(checksum); if (syncObject != null) { return(syncObject); } CustomAsset asset = null; if (_additionalAssets?.TryGetValue(checksum, out asset) == true) { return(asset); } // this cache has no reference to the given checksum return(null); }
public async Task AppendRemotableDataAsync(HashSet <Checksum> searchingChecksumsLeft, Dictionary <Checksum, RemotableData> result, CancellationToken cancellationToken) { var finder = new SolutionChecksumFinder(SolutionState, _serializer, cancellationToken); await finder.AppendAsync(searchingChecksumsLeft, result).ConfigureAwait(false); }