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 }