Ref: cleanup, organise packages

This commit is contained in:
Sheepit Renderfarm
2024-12-14 13:54:56 +00:00
parent 2e10f7379d
commit 21059a4f19
67 changed files with 222 additions and 172 deletions

View File

@@ -0,0 +1,41 @@
package com.sheepit.client.ui;
import com.sheepit.client.utils.Utils;
import lombok.AllArgsConstructor;
/****************
* Holds the session traffic statistics. The constructor accepts two parameters:
* long bytes - bytes transferred in the session
* long millis - milliseconds spent transferring the data
*/
@AllArgsConstructor
public class TransferStats {
private long bytes;
private long millis;
public TransferStats() {
this.bytes = 0;
this.millis = 0;
}
public void calc(long bytes, long millis) {
this.bytes += bytes;
this.millis += millis;
}
public String getSessionTraffic() {
return Utils.formatDataConsumption(this.bytes);
}
public String getAverageSessionSpeed() {
try {
return Utils.formatDataConsumption((long) (this.bytes / (this.millis / 1000f)));
} catch (ArithmeticException e) { // Unlikely, but potential division by zero fallback if first transfer is done in zero millis
return Utils.formatDataConsumption((long) (this.bytes / (0.1f)));
}
}
public long getRawAverageSessionSpeed() {
return this.millis != 0 ? (long) (this.bytes / (this.millis / 1000f)) : 0;
}
}