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 }