Ejemplo n.º 1
0
 protected override void RadiObradu()
 {
     while (radi)
     {
         Strana strana = procitaneStrane.Uzmi(); // base property, strane zaglavlja.
         //Console.WriteLine(strana.Adresa); //
         if (strana != null)
         {
             List <string> adreseOglasa = strana.DajAdreseOglasa();
             if (adreseOglasa != null)
             {
                 if (adreseOglasa.Count != 0)
                 {
                     foreach (string adresa in adreseOglasa)
                     {
                         Strana stranaOglasa = new StranaOglasa(adresa);
                         procitaneStraneOglasa.Dodaj(stranaOglasa);
                         if (!radi)
                         {
                             return;
                         }
                     }
                     Dnevnik.PisiSaImenomThreda("Obrađeno je zaglavlje: " + strana.Adresa);
                 }
                 else
                 {
                     brojacStranaZaglavlja.Ponisti();
                 }
             }
             else
             {
                 Dnevnik.PisiSaThredomGreska("Nije obrađena strana zaglavlja: " + strana.Adresa);
             }
         }
     }
 }
Ejemplo n.º 2
0
        private void ProcitajZaglavlja()
        {
            Common.BrojacPisacaZaglavlja.UvecajBrojAktivnihPisacaZaglavlja();
            uint   i;
            string adresa;

            i = brojacStranaZaglavlja.Sledeci();
            try
            {
                adresa = DajAdresuZaglavlja(i);
                Common.Http.Strana strana = new Common.Http.StranaZaglavlja(adresa);
                while (strana.Procitaj())
                {
                    procitaneStrane.Dodaj(strana);  // dodaje u deljenu listu u memoriju
                    if (!radi)
                    {
                        return;
                    }
                    i      = brojacStranaZaglavlja.Sledeci();
                    adresa = DajAdresuZaglavlja(i);
                    strana = new Common.Http.StranaZaglavlja(adresa);
                }
                Dnevnik.PisiSaImenomThreda("Više nema zaglavlja za čitanje.");
                //brojacStranaZaglavlja.Ponisti();   // ponistavam brojac da krene iz pocetka ???????
            }
            catch (Exception ex)
            {
                string porukaGreske = "Citac zaglavlja nije uspesno zavrsio.";
                EventLogger.WriteEventError(porukaGreske, ex);
                Dnevnik.PisiSaImenomThreda(porukaGreske);
            }
            finally
            {
                Common.BrojacPisacaZaglavlja.SmanjiBrojAktivnihPisacaZaglavlja();
            }
        }