GNUNET_assert (NULL != op->state->se);
diff = strata_estimator_difference (remote_se,
op->state->se);
+
+ if (diff > 200)
+ diff = diff * 3 / 2;
+
strata_estimator_destroy (remote_se);
strata_estimator_destroy (op->state->se);
op->state->se = NULL;
}
- if ( (GNUNET_YES == op->spec->force_full) || (diff > op->state->initial_size / 2))
+ if ( (GNUNET_YES == op->spec->force_full) || (diff > op->state->initial_size / 4))
{
LOG (GNUNET_ERROR_TYPE_INFO,
"Sending full set (diff=%d, own set=%u)\n",
diff,
op->state->initial_size);
+ GNUNET_STATISTICS_update (_GSS_statistics,
+ "# of full sends",
+ 1,
+ GNUNET_NO);
if (op->state->initial_size <= other_size)
{
send_full_set (op);
}
else
{
+ GNUNET_STATISTICS_update (_GSS_statistics,
+ "# of ibf sends",
+ 1,
+ GNUNET_NO);
if (GNUNET_OK !=
send_ibf (op,
get_order_from_difference (diff)))
}
if ( (GNUNET_YES == op->spec->byzantine) &&
- (op->state->received_total > 128) &&
- (op->state->received_fresh < op->state->received_total / 3) )
+ (op->state->received_total > 384 + op->state->received_fresh * 4) &&
+ (op->state->received_fresh < op->state->received_total / 6) )
{
/* The other peer gave us lots of old elements, there's something wrong. */
LOG (GNUNET_ERROR_TYPE_ERROR,