Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

cacheex_wait_time, umgestalten

  • Ersteller Ersteller lullu08
  • Erstellt am Erstellt am
L

lullu08

Guest
Cacheex Waitime, galube die richtigen Freeks kennen das alle,
wartet eine vorgegebene Zeit, und fragt dann den eigenen Reader erst ab.

Jetzt würde ich diese Funktion gerne verbessern, das Cacheex wenn die Zeit 5x überschreitet, den eigenen Reader immer früher anfragt, damit die Gegenseite meine Puschzeiten vergleichen kann, ansonsten werden vieleicht beide Reader erst ab der gewissen Zeit anfangen zu arbeiten, wenn noch ein entfernter Hop mit schlechten Zeiten was sendet.

Meine Vortellung ist, das nach 5 Waitime ist over die Waitime vom Reader halbiert.
Als Beispiel: 1830:690 Waitime ist 690ms und soll nach 5x überschreiten 1x halbiert (auf 345) werden

Das ist glaube der Original Text:

Code:
uint32_t get_cacheex_wait_time(ECM_REQUEST *er, struct s_client *cl)
{
    int32_t i, dwtime = -1, awtime = -1;

    for(i = 0; i < cfg.cacheex_wait_timetab.n; i++)
    {
        if(i == 0 && cfg.cacheex_wait_timetab.caid[i] <= 0)
        {
            dwtime = cfg.cacheex_wait_timetab.dwtime[i];
            awtime = cfg.cacheex_wait_timetab.awtime[i];
            continue; //check other, only valid for unset
        }

        if(cfg.cacheex_wait_timetab.caid[i] == er->caid || cfg.cacheex_wait_timetab.caid[i] == er->caid >> 8 || ((cfg.cacheex_wait_timetab.cmask[i] >= 0 && (er->caid & cfg.cacheex_wait_timetab.cmask[i]) == cfg.cacheex_wait_timetab.caid[i]) || cfg.cacheex_wait_timetab.caid[i] == -1))
        {
            if((cfg.cacheex_wait_timetab.prid[i] >= 0 && cfg.cacheex_wait_timetab.prid[i] == (int32_t)er->prid) || cfg.cacheex_wait_timetab.prid[i] == -1)
            {
                if((cfg.cacheex_wait_timetab.srvid[i] >= 0 && cfg.cacheex_wait_timetab.srvid[i] == er->srvid) || cfg.cacheex_wait_timetab.srvid[i] == -1)
                {
                    dwtime = cfg.cacheex_wait_timetab.dwtime[i];
                    awtime = cfg.cacheex_wait_timetab.awtime[i];
                    break;
                }
            }

        }

    }
    if(awtime > 0 && (dwtime <= 0 || awtime==dwtime) ) //if awtime==dwtime useless check hitcache
    {
        return awtime;
    }
    if(cl == NULL)
    {
        if(dwtime < 0)
            { dwtime = 0; }
        return dwtime;
    }
    if(awtime > 0 || dwtime > 0)
    {
        //if found last in cache return dynwaittime else alwayswaittime
        if(check_hitcache(er,cl))
            { return dwtime >= awtime ? dwtime : awtime; }
        else
            { return awtime > 0 ? awtime : 0; }
    }
    return 0;
}

Jemand eine Idee einen Counter zu implantieren und die Waittime auf 50% eine Anfrage zu testen?
 
Zurück
Oben