Only access failures are safe in the retry structs history.
The output struct indicates if an output is the result of a retry
A config option was added to determine if retries cause time to increase. Default option is retires do not cost time.
If the uniqueChunk per iteration option is used, the output worker may receive more outputs than Iterations, since retries cause outputs, but do not count towards iterations. The output/worker is adjusted to ensure a log statement at the end of the experiment.
Additional unrelated feature included is some more metrics for income of originators.
First I try to compute the gini coefficient to see how fair the prices are, i.e. if some originators pay more for downloading than other.
Second I compute the gini coefficient over a metric that combines both income and download utility of originators.
Download utility is computed as maximum (chunk price - payed chunk price) per chunk.