Ejemplo n.º 1
0
        private void SetChunkDataDescriptorRetriever()
        {
            DaoRepository daoRepo = Repository as DaoRepository;

            if (daoRepo != null)
            {
                ChunkDataDescriptorRetriever = (fileHash, fromIndex, chunkDataBatchSize) =>
                {
                    return(daoRepo.Top <ChunkDataDescriptor>(chunkDataBatchSize,
                                                             Filter.Where(nameof(ChunkDataDescriptor.FileHash)) == fileHash &&
                                                             Filter.Where(nameof(ChunkDataDescriptor.ChunkIndex)) > fromIndex));
                };
            }
            else
            {
                Logger.Warning("{0}::FileService.Repository is not a DaoRepository but is a ({1}), good luck with that!", nameof(SetChunkDataDescriptorRetriever), Repository.GetType().Name);
                ChunkDataDescriptorRetriever = (fileHash, fromIndex, chunkDataBatchSize) =>
                {
                    return(Repository.Query <ChunkDataDescriptor>(
                               Filter.Where(nameof(ChunkDataDescriptor.FileHash)) == fileHash &&
                               Filter.Where(nameof(ChunkDataDescriptor.ChunkIndex)) > fromIndex)
                           .Take(chunkDataBatchSize));
                };
            }
        }
Ejemplo n.º 2
0
        public virtual IEnumerable <object> NextSet(ReplicationOperation operation)
        {
            Type type = TypeResolver.ResolveType(operation);

            yield return(DaoRepository.Top(operation.BatchSize, type, QueryFilter.Where("Cuid") > operation.FromCuid));
        }