Просмотр исходного кода

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 лет назад
Родитель
Сommit
886fb651d8
2 измененных файлов: 10 добавлений и 2 удалений
  1. +9
    -2
      btpd/tracker_req.c
  2. +1
    -0
      btpd/tracker_req.h

+ 9
- 2
btpd/tracker_req.c Просмотреть файл

@@ -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 Просмотреть файл

@@ -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

Загрузка…
Отмена
Сохранить