Sfoglia il codice sorgente

Add function to get tracker error count. Don't look for peers and stuff

in tracker replies when we're stopping.
master
Richard Nyberg 19 anni fa
parent
commit
886fb651d8
2 ha cambiato i file con 10 aggiunte e 2 eliminazioni
  1. +9
    -2
      btpd/tracker_req.c
  2. +1
    -0
      btpd/tracker_req.h

+ 9
- 2
btpd/tracker_req.c Vedi File

@@ -130,8 +130,9 @@ http_cb(struct http *req, struct http_res *res, void *arg)
struct tracker *tr = tp->tr;
assert(tr->ttype == TIMER_TIMEOUT);
tr->req = NULL;
if ((http_succeeded(res) &&
parse_reply(tp, res->content, res->length) == 0)) {
if (res->res == HRES_OK &&
(tr->event == TR_EV_STOPPED
|| parse_reply(tp, res->content, res->length) == 0)) {
tr->nerrors = 0;
tr->ttype = TIMER_INTERVAL;
event_add(&tr->timer, (& (struct timeval) { tr->interval, 0 }));
@@ -249,3 +250,9 @@ tr_stop(struct torrent *tp)
{
tr_send(tp, TR_EV_STOPPED);
}

unsigned
tr_errors(struct torrent *tp)
{
return tp->tr->nerrors;
}

+ 1
- 0
btpd/tracker_req.h Vedi File

@@ -6,5 +6,6 @@ void tr_stop(struct torrent *tp);
void tr_refresh(struct torrent *tp);
void tr_complete(struct torrent *tp);
void tr_destroy(struct torrent *tp);
unsigned tr_errors(struct torrent *tp);

#endif

Loading…
Annulla
Salva