Esempio n. 1
0
        /// <inheritdoc />
        public async Task <Possible <string, Failure>[]> PinToCasAsync(CasEntries hashes, UrgencyHint urgencyHint, Guid activityId)
        {
            List <ContentHash> contentHashes = hashes.Select(hash => hash.ToContentHash()).ToList();
            IEnumerable <Task <Indexed <PinResult> > > resultSet = await ReadOnlyCacheSession.PinAsync(new Context(Logger), contentHashes, CancellationToken.None);

            var results = new Possible <string, Failure> [contentHashes.Count];

            foreach (Task <Indexed <PinResult> > resultTask in resultSet)
            {
                Indexed <PinResult> individualResult = await resultTask;
                results[individualResult.Index] = individualResult.Item.FromMemoization(hashes[individualResult.Index], CacheId);
            }

            return(results);
        }