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

Class Class, % Method, % Line, %
SyncConfiguration 100% (1/1) 20% (2/10) 60% (12/20)


1 package co.rsk.net.sync; 2  3 import com.google.common.annotations.VisibleForTesting; 4  5 import javax.annotation.concurrent.Immutable; 6 import java.time.Duration; 7  8 @Immutable 9 public final class SyncConfiguration { 10  public static final SyncConfiguration DEFAULT = new SyncConfiguration(5, 60, 30, 5, 20, 192, 20, 10); 11  12  @VisibleForTesting 13  public static final SyncConfiguration IMMEDIATE_FOR_TESTING = new SyncConfiguration(1, 1, 3, 1, 5, 192, 20, 10); 14  15  private final int expectedPeers; 16  private final Duration timeoutWaitingPeers; 17  private final Duration timeoutWaitingRequest; 18  private final Duration expirationTimePeerStatus; 19  private final int maxSkeletonChunks; 20  private final int chunkSize; 21  private final int longSyncLimit; 22  private final int maxRequestedBodies; 23  24  /** 25  * @param expectedPeers The expected number of peers we would want to start finding a connection point. 26  * @param timeoutWaitingPeers Timeout in minutes to start finding the connection point when we have at least one peer 27  * @param timeoutWaitingRequest Timeout in seconds to wait for syncing requests 28  * @param expirationTimePeerStatus Expiration time in minutes for peer status 29  * @param maxSkeletonChunks Maximum amount of chunks included in a skeleton message 30  * @param chunkSize Amount of blocks contained in a chunk 31  * @param maxRequestedBodies Amount of bodies to request at the same time when synchronizing backwards. 32  * @param longSyncLimit Distance to the tip of the peer's blockchain to enable long synchronization. 33  */ 34  public SyncConfiguration( 35  int expectedPeers, 36  int timeoutWaitingPeers, 37  int timeoutWaitingRequest, 38  int expirationTimePeerStatus, 39  int maxSkeletonChunks, 40  int chunkSize, 41  int maxRequestedBodies, 42  int longSyncLimit) { 43  this.expectedPeers = expectedPeers; 44  this.timeoutWaitingPeers = Duration.ofSeconds(timeoutWaitingPeers); 45  this.timeoutWaitingRequest = Duration.ofSeconds(timeoutWaitingRequest); 46  this.expirationTimePeerStatus = Duration.ofMinutes(expirationTimePeerStatus); 47  this.maxSkeletonChunks = maxSkeletonChunks; 48  this.chunkSize = chunkSize; 49  this.maxRequestedBodies = maxRequestedBodies; 50  this.longSyncLimit = longSyncLimit; 51  } 52  53  public final int getExpectedPeers() { 54  return expectedPeers; 55  } 56  57  public final int getMaxSkeletonChunks() { 58  return maxSkeletonChunks; 59  } 60  61  public final Duration getTimeoutWaitingPeers() { 62  return timeoutWaitingPeers; 63  } 64  65  public final Duration getTimeoutWaitingRequest() { 66  return timeoutWaitingRequest; 67  } 68  69  public final Duration getExpirationTimePeerStatus() { 70  return expirationTimePeerStatus; 71  } 72  73  public final int getChunkSize() { 74  return chunkSize; 75  } 76  77  public int getMaxRequestedBodies() { 78  return maxRequestedBodies; 79  } 80  81  public int getLongSyncLimit() { 82  return longSyncLimit; 83  } 84 }