if (circ->path_state == PATH_STATE_BUILD_ATTEMPTED) {
circ->path_state = PATH_STATE_BUILD_SUCCEEDED;
guard->circ_successes++;
+ entry_guards_changed();
log_info(LD_CIRC, "Got success count %f/%f for guard %s=%s",
guard->circ_successes, guard->circ_attempts,
if (guard) {
pathbias_check_use_rate(guard);
guard->use_attempts++;
+ entry_guards_changed();
log_debug(LD_CIRC,
"Marked circuit %d (%f/%f) as used for guard %s=%s.",
circ->cpath->extend_info->identity_digest);
if (guard) {
guard->use_successes++;
+ entry_guards_changed();
log_debug(LD_CIRC,
"Marked circuit %d (%f/%f) as used successfully for guard "
tor_lround(circ_times.close_ms/1000));
guard->path_bias_disabled = 1;
guard->bad_since = approx_time();
+ entry_guards_changed();
return -1;
}
} else if (!guard->path_bias_extreme) {
"Scaled pathbias use counts to %f/%f (%d open) for guard %s=%s",
guard->use_successes, guard->use_attempts, opened_attempts,
guard->nickname, hex_str(guard->identity, DIGEST_LEN));
+ entry_guards_changed();
}
return 0;
tor_lround(circ_times.close_ms/1000));
guard->path_bias_disabled = 1;
guard->bad_since = approx_time();
+ entry_guards_changed();
return -1;
}
} else if (!guard->path_bias_extreme) {
guard->circ_attempts += opened_attempts;
guard->circ_successes += opened_built;
+ entry_guards_changed();
+
log_info(LD_CIRC,
"Scaled pathbias counts to (%f,%f)/%f (%d/%d open) for guard "
"%s=%s",