Ver código fonte

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 anos atrás
pai
commit
886fb651d8
2 arquivos alterados com 10 adições e 2 exclusões
  1. +9
    -2
      btpd/tracker_req.c
  2. +1
    -0
      btpd/tracker_req.h

+ 9
- 2
btpd/tracker_req.c Ver arquivo

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

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

Carregando…
Cancelar
Salvar