Exemplo n.º 1
0
        void EndDownload(DownloaderObj obj)
        {
            object[]          args     = obj.Arg as object[];
            PatternsContainer sitePatt = args[0] as PatternsContainer;
            SyncWaitObj       waiter   = args[1] as SyncWaitObj;
            int siteChecksCount        = (int)args[2];

            if (obj.DataStr != null)
            {
                bool originalPage = sitePatt.Validation.Validate(obj.DataStr);
                if (originalPage)
                {
                    waiter.MultidownloadRate += (double)obj.Attempts / (DownloadsAttempts - 1);
                }
            }

            if (Interlocked.Increment(ref waiter.Count) == siteChecksCount)
            {
                obj.Proxy.MultidownloadRate = waiter.MultidownloadRate / siteChecksCount;
                EndTest(obj.Proxy);

                ////DEBUG
                //Console.WriteLine("Downloads END {0}, rate ", DateTime.Now.ToShortTimeString(), obj.Proxy.MultidownloadRate);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Entry point.
        /// </summary>
        /// <param name="args">Program arguments.</param>
        public static void Main(string[] args)
        {
            var generator = new Generator();

            Console.WriteLine("Proxima b opening book generator");
            Console.WriteLine();

            PatternsContainer.Init();
            MagicContainer.Init();

            var openingBook = generator.GetOpeningBook("Book/input.book");

            SaveOpeningBook("Book/output.book", openingBook);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Generator"/> class.
        /// </summary>
        public Generator()
        {
            _magicKeyGenerator = new MagicKeyGenerator();

            PatternsContainer.Init();
        }
Exemplo n.º 4
0
        public Generator()
        {
            _openingParser = new OpeningParser();

            PatternsContainer.Init();
        }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes chess engine (loads patterns, magic keys, sets converters, ...).
 /// Must be called first, otherwise chess engine will crash :(
 /// </summary>
 public static void Init()
 {
     PatternsContainer.Init();
     MagicContainer.Init();
     OpeningBookContainer.Init();
 }