Coverage Summary for Class: BaseSyncState (co.rsk.net.sync)

Class Class, % Method, % Line, %
BaseSyncState 0% (0/1) 0% (0/5) 0% (0/10)


1 package co.rsk.net.sync; 2  3 import co.rsk.net.Peer; 4 import co.rsk.net.messages.BodyResponseMessage; 5 import com.google.common.annotations.VisibleForTesting; 6 import org.ethereum.core.BlockHeader; 7 import org.ethereum.core.BlockIdentifier; 8  9 import java.time.Duration; 10 import java.util.List; 11  12 public abstract class BaseSyncState implements SyncState { 13  protected SyncConfiguration syncConfiguration; 14  protected SyncEventsHandler syncEventsHandler; 15  16  protected Duration timeElapsed; 17  18  public BaseSyncState(SyncEventsHandler syncEventsHandler, SyncConfiguration syncConfiguration) { 19  this.syncEventsHandler = syncEventsHandler; 20  this.syncConfiguration = syncConfiguration; 21  22  this.resetTimeElapsed(); 23  } 24  25  protected void resetTimeElapsed() { 26  timeElapsed = Duration.ZERO; 27  } 28  29  @Override 30  public void tick(Duration duration) { 31  timeElapsed = timeElapsed.plus(duration); 32  if (timeElapsed.compareTo(syncConfiguration.getTimeoutWaitingRequest()) >= 0) { 33  onMessageTimeOut(); 34  } 35  } 36  37  protected void onMessageTimeOut() { 38  } 39  40  @Override 41  public void newBlockHeaders(List<BlockHeader> chunk) { 42  } 43  44  @Override 45  public void newBody(BodyResponseMessage message, Peer peer) { 46  } 47  48  @Override 49  public void newConnectionPointData(byte[] hash) { 50  } 51  52  @Override 53  public void newPeerStatus() { } 54  55  @Override 56  public void newSkeleton(List<BlockIdentifier> skeleton, Peer peer) { 57  } 58  59  @Override 60  public void onEnter() { } 61  62  @Override 63  public boolean isSyncing(){ 64  return false; 65  } 66  67  @VisibleForTesting 68  public void messageSent() { 69  resetTimeElapsed(); 70  } 71 }