Coverage Summary for Class: SyncPeerStatus (co.rsk.net.sync)
Class |
Class, %
|
Method, %
|
Line, %
|
SyncPeerStatus |
0%
(0/1)
|
0%
(0/5)
|
0%
(0/8)
|
1 package co.rsk.net.sync;
2
3 import co.rsk.net.Status;
4
5 import java.time.Clock;
6 import java.time.Duration;
7 import java.time.Instant;
8
9 /**
10 * Created by ajlopez on 29/08/2017.
11 */
12 public class SyncPeerStatus {
13 // Peer status
14 private Status status;
15
16 private final Clock clock = Clock.systemUTC();
17 private Instant lastActivity;
18
19 public SyncPeerStatus() {
20 this.updateActivity();
21 }
22
23 private void updateActivity() {
24 this.lastActivity = clock.instant();
25 }
26
27 public void setStatus(Status status) {
28 this.status = status;
29 this.updateActivity();
30 }
31
32 public Status getStatus() {
33 return this.status;
34 }
35
36 /**
37 * It returns true or false depending on the comparison of last activity time
38 * plus timeout and current time
39 *
40 * @param timeout time in milliseconds
41 * @return true if the time since last activity plus timeout is less than current time in milliseconds
42 */
43 public boolean isExpired(Duration timeout) {
44 return clock.instant().isAfter(this.lastActivity.plus(timeout));
45 }
46 }
47