- if (bytes < td->rate_bytes) {
- fprintf(f_out, "%s: min rate %u not met\n", td->name, td->ratemin);
- return 1;
+ if (td->o.rate) {
+ /*
+ * check bandwidth specified rate
+ */
+ if (bytes < td->rate_bytes) {
+ log_err("%s: min rate %u not met\n", td->o.name, td->o.ratemin);
+ return 1;
+ } else {
+ rate = (bytes - td->rate_bytes) / spent;
+ if (rate < td->o.ratemin || bytes < td->rate_bytes) {
+ log_err("%s: min rate %u not met, got %luKiB/sec\n", td->o.name, td->o.ratemin, rate);
+ return 1;
+ }
+ }