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