than 28 days unmodified, then most likely it's a leftover from when we
upgraded to 0.2.0.8-alpha. Remove it. It has no good routers anyway.
+ o Minor features (performance):
+ - Call routerlist_remove_old_routers() much less often. This should
+ speed startup, especially on directory caches.
+
o Minor bugfixes (directory authorities):
- Correct the implementation of "download votes by digest." Bugfix on
0.2.0.8-alpha.
/* If any networkstatus documents are no longer recent, we need to
* update all the descriptors' running status. */
/* purge obsolete entries */
- routerlist_remove_old_routers();
networkstatus_v2_list_clean(now);
+ /* Remove dead routers. */
+ routerlist_remove_old_routers();
#if 0
networkstatus_v2_list_update_recent(now);
#endif
if (!routerlist)
return 0;
- routerlist_assert_ok(routerlist);
+ //routerlist_assert_ok(routerlist);
/* Don't save deadweight. */
routerlist_remove_old_routers();
smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));
}
+#if 0
/** Return non-zero if we have a lot of extra descriptors in our
* routerlist, and should get rid of some of them. Else return 0.
*
return smartlist_len(rl->old_routers) > smartlist_len(rl->routers)*2;
}
}
+#endif
static INLINE int
_routerlist_find_elt(smartlist_t *sl, void *ri, int idx)
return -1;
}
+#if 0
if (routerlist_is_overfull(routerlist))
routerlist_remove_old_routers();
+#endif
if (authdir) {
if (authdir_wants_to_reject_router(router, msg,
if (!routerlist || !consensus)
return;
- routerlist_assert_ok(routerlist);
+ // routerlist_assert_ok(routerlist);
retain = digestmap_new();
cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
}
}
- routerlist_assert_ok(routerlist);
+ //routerlist_assert_ok(routerlist);
/* Remove far-too-old members of routerlist->old_routers. */
cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
}
}
- routerlist_assert_ok(routerlist);
+ //routerlist_assert_ok(routerlist);
/* Now we might have to look at routerlist->old_routers for extraneous
* members. (We'd keep all the members if we could, but we need to save
}
if (hi>=0)
routerlist_remove_old_cached_routers_with_id(cutoff, 0, hi, retain);
- routerlist_assert_ok(routerlist);
+ //routerlist_assert_ok(routerlist);
done:
digestmap_free(retain, NULL);
/* Most caches probably don't have this descriptor yet. */
return 0;
}
+ if (rs->published_on + OLD_ROUTER_DESC_MAX_AGE < now) {
+ /* We'd drop it immediately for being too old. */
+ return 0;
+ }
return 1;
}