@@ -171,20 +171,10 @@ trait FastSync {
171
171
172
172
syncStateStorageActor ! fastSyncStateStorage
173
173
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 )
186
175
private val heartBeat = scheduler.schedule(syncRetryInterval, syncRetryInterval * 2 , self, ProcessSyncing )
187
176
177
+ // scalastyle:off cyclomatic.complexity
188
178
def receive : Receive = handlePeerUpdates orElse {
189
179
case EnqueueNodes (hashes) =>
190
180
hashes.foreach {
@@ -229,6 +219,20 @@ trait FastSync {
229
219
230
220
case PrintStatus =>
231
221
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)
232
236
}
233
237
234
238
private def printStatus () = {
@@ -427,6 +431,7 @@ object FastSync {
427
431
private case object TargetBlockTimeout
428
432
429
433
private case object ProcessSyncing
434
+ private case object PersistSyncState
430
435
431
436
case class SyncState (
432
437
targetBlock : BlockHeader ,
0 commit comments