Skip to content

Commit 87ee44e

Browse files
committed
Merge remote-tracking branch 'origin/phase/beta1' into feature/rpcFixes
2 parents 4bc41dd + 2da6833 commit 87ee44e

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

src/main/scala/io/iohk/ethereum/blockchain/sync/FastSync.scala

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -171,20 +171,10 @@ trait FastSync {
171171

172172
syncStateStorageActor ! fastSyncStateStorage
173173

174-
private val syncStatePersistCancellable =
175-
scheduler.schedule(persistStateSnapshotInterval, persistStateSnapshotInterval) {
176-
syncStateStorageActor ! SyncState(
177-
initialSyncState.targetBlock,
178-
requestedMptNodes.values.flatten.toSeq.distinct ++ mptNodesQueue,
179-
requestedNonMptNodes.values.flatten.toSeq.distinct ++ nonMptNodesQueue,
180-
requestedBlockBodies.values.flatten.toSeq.distinct ++ blockBodiesQueue,
181-
requestedReceipts.values.flatten.toSeq.distinct ++ receiptsQueue,
182-
downloadedNodesCount,
183-
bestBlockHeaderNumber)
184-
}
185-
174+
private val syncStatePersistCancellable = scheduler.schedule(persistStateSnapshotInterval, persistStateSnapshotInterval, self, PersistSyncState)
186175
private val heartBeat = scheduler.schedule(syncRetryInterval, syncRetryInterval * 2, self, ProcessSyncing)
187176

177+
// scalastyle:off cyclomatic.complexity
188178
def receive: Receive = handlePeerUpdates orElse {
189179
case EnqueueNodes(hashes) =>
190180
hashes.foreach {
@@ -229,6 +219,20 @@ trait FastSync {
229219

230220
case PrintStatus =>
231221
printStatus()
222+
223+
case PersistSyncState =>
224+
persistSyncState()
225+
}
226+
227+
private def persistSyncState(): Unit = {
228+
syncStateStorageActor ! SyncState(
229+
initialSyncState.targetBlock,
230+
requestedMptNodes.values.flatten.toSeq.distinct ++ mptNodesQueue,
231+
requestedNonMptNodes.values.flatten.toSeq.distinct ++ nonMptNodesQueue,
232+
requestedBlockBodies.values.flatten.toSeq.distinct ++ blockBodiesQueue,
233+
requestedReceipts.values.flatten.toSeq.distinct ++ receiptsQueue,
234+
downloadedNodesCount,
235+
bestBlockHeaderNumber)
232236
}
233237

234238
private def printStatus() = {
@@ -427,6 +431,7 @@ object FastSync {
427431
private case object TargetBlockTimeout
428432

429433
private case object ProcessSyncing
434+
private case object PersistSyncState
430435

431436
case class SyncState(
432437
targetBlock: BlockHeader,

src/main/scala/io/iohk/ethereum/network/discovery/PeerDiscoveryManager.scala

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,7 @@ class PeerDiscoveryManager(
3434

3535
if (discoveryConfig.discoveryEnabled) {
3636
discoveryListener ! DiscoveryListener.Subscribe
37-
38-
context.system.scheduler.schedule(discoveryConfig.scanInitialDelay, discoveryConfig.scanInterval) {
39-
scan()
40-
}
37+
context.system.scheduler.schedule(discoveryConfig.scanInitialDelay, discoveryConfig.scanInterval, self, Scan)
4138
}
4239

4340
def scan(): Unit = {
@@ -78,6 +75,8 @@ class PeerDiscoveryManager(
7875

7976
case GetDiscoveredNodes =>
8077
sender() ! DiscoveredNodes(nodes.values.toSet)
78+
79+
case Scan => scan()
8180
}
8281

8382
private def sendPing(toNodeId: ByteString, toAddr: InetSocketAddress): Unit = {
@@ -130,4 +129,6 @@ object PeerDiscoveryManager {
130129

131130
case object GetDiscoveredNodes
132131
case class DiscoveredNodes(nodes: Set[Node])
132+
133+
private case object Scan
133134
}

0 commit comments

Comments
 (0)