Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package bdv.util;
import java.time.Duration;
import java.time.Instant;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
public class RemoteCompressionClient {
private final AtomicInteger compressedAccumulation = new AtomicInteger(0);
private final AtomicInteger uncompressedAccumulation = new AtomicInteger(0);
private final AtomicInteger handledRequestCount = new AtomicInteger(0);
private final AtomicLong compressionTimeAccumulation = new AtomicLong(0);
private Instant lastAccessTime;
public RemoteCompressionClient() {
updateLastAccessTime();
}
public AtomicInteger getCompressedAccumulation() {
return compressedAccumulation;
}
public AtomicInteger getUncompressedAccumulation() {
return uncompressedAccumulation;
}
public AtomicInteger getHandledRequestCount() {
return handledRequestCount;
}
public AtomicLong getCompressionTimeAccumulation() {
return compressionTimeAccumulation;
}
public void updateLastAccessTime() {
lastAccessTime = Instant.now();
}
public long getInactiveTimeInMinutes() {
return Duration.between(lastAccessTime, Instant.now()).toMinutes();
}
/**
* Reset the compression client and update lastAccessTime.
*/
public void reset() {
compressedAccumulation.set(0);
uncompressedAccumulation.set(0);
handledRequestCount.set(0);
compressionTimeAccumulation.set(0);
updateLastAccessTime();
}
}