public VoxelWorld(int chunkSize, CMSProperties cmsProperties, Transform transform, IndexerFactory <TIndexer> indexerFactory)
 {
     ChunkSize      = chunkSize;
     CMSProperties  = cmsProperties;
     Transform      = transform;
     IndexerFactory = indexerFactory;
 }
예제 #2
0
        public VoxelChunk(VoxelWorld <TIndexer> world, ChunkPos pos, int chunkSize, IndexerFactory <TIndexer> indexerFactory)
        {
            this.world          = world;
            this.chunkSize      = chunkSize;
            this.chunkSizeSq    = chunkSize * chunkSize;
            this.Pos            = pos;
            this.indexerFactory = indexerFactory;

            voxels = new NativeArray3D <Voxel, TIndexer>(indexerFactory(chunkSize + 1, chunkSize + 1, chunkSize + 1), chunkSize + 1, chunkSize + 1, chunkSize + 1, Allocator.Persistent);
            //voxels = new Voxel[chunkSize * chunkSize * chunkSize];
            //voxels = new NativeArray<Voxel>(chunkSize * chunkSize * chunkSize, Allocator.Persistent); //TODO Dispose
        }
예제 #3
0
 public NewznabController(IndexerFactory indexerFactory,
                          ISearchForNzb nzbSearchService,
                          IIndexerLimitService indexerLimitService,
                          IDownloadMappingService downloadMappingService,
                          IDownloadService downloadService)
 {
     _indexerFactory         = indexerFactory;
     _nzbSearchService       = nzbSearchService;
     _indexerLimitService    = indexerLimitService;
     _downloadMappingService = downloadMappingService;
     _downloadService        = downloadService;
 }
예제 #4
0
        public FileDedupe(
            FileDedupeConfig fileDedupeConfig,
            IndexedFileParser indexedFileParser,
            DirectoryAnalyser dedupeAnalyser,
            IndexWriter indexWriter,
            IndexerFactory indexerFactory,
            IndexMerger indexMerger,
            ILogger logger)
        {
            _fileDedupeConfig  = fileDedupeConfig;
            _indexedFileParser = indexedFileParser;
            _directoryAnalyser = dedupeAnalyser;
            _indexWriter       = indexWriter;
            _indexerFactory    = indexerFactory;
            _indexMerger       = indexMerger;
            _logger            = logger;

            Console.WriteLine($"Loading Index: {_fileDedupeConfig.IndexFile}");
            _index = indexedFileParser.Parse(_fileDedupeConfig.IndexFile);
            Console.WriteLine($"Loaded Index: {_fileDedupeConfig.IndexFile}");
        }
예제 #5
0
        static void Main(string[] args)
        {
            if (args == null || args.Length < 2)
            {
                Console.WriteLine("Please Specify Input Json Path and Model Name");
                return;
            }

            string inputPath  = args[0];
            var    jsonString = File.ReadAllText(inputPath);
            var    model      = args[1];
            var    indexer    = new IndexerFactory().CreateIndexer(model);

            if (indexer == null)
            {
                Console.WriteLine("Model Argument is incorrect!!");
                return;
            }
            indexer.IndexJson(jsonString);

            Console.ReadKey();
        }
        private async Task IndexAndMarkComplete(Message message)
        {
            try
            {
                var model = JsonConvert.DeserializeObject <ClassificationModel>(message.Body);
                using var indexer = new IndexerFactory().GetIndexer(model.Source, HttpClient);
                if (indexer == null)
                {
                    Logger.Log($"Failed to process message due to unknown source {model.Source} for message: {message.Body}");
                    return;
                }

                await IndexingCore.Index(indexer, model);
            }
            catch (Exception e) when(e is ProtectedClassificationException || e.InnerException is ProtectedClassificationException)
            {
                Logger.Log($"Skipping index request due to attempting to re-index protected classification: {e.Message} for message: {message.Body}. Error: " + e);
                await QueueClient.DeleteMessageAsync(QUEUE_URL, message.ReceiptHandle);

                return;
            }
            catch (Exception e) when(e is StitchedImageException || e.InnerException is StitchedImageException)
            {
                Logger.Log($"Failed to stitch image tiles together. The image can be reprocessed by the queue: {e.Message} for message: {message.Body}. Error: " + e);
                return;
            }
            catch (Exception e) when(e is NoIndexContentException || e.InnerException is NoIndexContentException)
            {
                Logger.Log($"Failed to find content for image. The image can be reprocessed by the queue: {e.Message} for message: {message.Body}. Error: " + e);
                return;
            }
            catch (Exception e)
            {
                Logger.Log($"Failed to process message due to unknown error: {e.Message} for message: {message.Body}. Error: " + e);
                return;
            }

            await QueueClient.DeleteMessageAsync(QUEUE_URL, message.ReceiptHandle);
        }
예제 #7
0
        public static async Task MainAsync(string[] args)
        {
            var config = ConfigReader.LoadFromFile("config.json");

            var logger         = new ConsoleLogger();
            var dedupeAnalyser = new DirectoryAnalyser();
            var indexWriter    = new IndexWriter();

            var parser         = new IndexedFileParser(logger);
            var indexerFactory = new IndexerFactory(logger);
            var indexMerger    = new IndexMerger(parser, indexWriter, logger);

            var fileDedupe = new FileDedupe(
                config,
                parser,
                dedupeAnalyser,
                indexWriter,
                indexerFactory,
                indexMerger,
                logger);

            fileDedupe.AnalyseDirectories();
        }
예제 #8
0
 public IndexerModule(IndexerFactory indexerFactory)
     : base(indexerFactory, "indexer")
 {
 }
예제 #9
0
 public IndexerModule(IndexerFactory indexerFactory)
     : base(indexerFactory, "indexer", ResourceMapper)
 {
 }
예제 #10
0
 public IndexerController(IndexerFactory indexerFactory, IndexerResourceMapper resourceMapper)
     : base(indexerFactory, "indexer", resourceMapper)
 {
 }