Skip to content
This repository was archived by the owner on Apr 13, 2022. It is now read-only.

Commit 73fc369

Browse files
committed
subsribe only to ChangedMempool and ChangedHistory from NodeViewSynchronizer
1 parent abf16a0 commit 73fc369

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

src/main/scala/scorex/core/network/NodeViewSynchronizer.scala

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,26 @@ MR <: MempoolReader[TX]](networkControllerRef: ActorRef,
5656
protected var historyReaderOpt: Option[HR] = None
5757
protected var mempoolReaderOpt: Option[MR] = None
5858

59+
override def preStart(): Unit = {
60+
//register as a handler for synchronization-specific types of messages
61+
val messageSpecs: Seq[MessageSpec[_]] = Seq(invSpec, requestModifierSpec, ModifiersSpec, syncInfoSpec)
62+
networkControllerRef ! RegisterMessagesHandler(messageSpecs, self)
63+
64+
//register as a listener for peers got connected (handshaked) or disconnected
65+
context.system.eventStream.subscribe(self, classOf[HandshakedPeer])
66+
context.system.eventStream.subscribe(self, classOf[DisconnectedPeer])
67+
// todo: replace the two lines above by a single line with classOf[PeerManagementEvent]
68+
69+
70+
//subscribe for all the node view holder events involving modifiers and transactions
71+
context.system.eventStream.subscribe(self, classOf[ChangedHistory[HR]])
72+
context.system.eventStream.subscribe(self, classOf[ChangedMempool[MR]])
73+
context.system.eventStream.subscribe(self, classOf[ModificationOutcome])
74+
viewHolderRef ! GetNodeViewChanges(history = true, state = false, vault = false, mempool = true)
75+
76+
statusTracker.scheduleSendSyncInfo()
77+
}
78+
5979
private def readersOpt: Option[(HR, MR)] = historyReaderOpt.flatMap(h => mempoolReaderOpt.map(mp => (h, mp)))
6080

6181
protected def broadcastModifierInv[M <: NodeViewModifier](m: M): Unit = {
@@ -283,25 +303,6 @@ MR <: MempoolReader[TX]](networkControllerRef: ActorRef,
283303
}
284304
}
285305

286-
override def preStart(): Unit = {
287-
//register as a handler for synchronization-specific types of messages
288-
val messageSpecs: Seq[MessageSpec[_]] = Seq(invSpec, requestModifierSpec, ModifiersSpec, syncInfoSpec)
289-
networkControllerRef ! RegisterMessagesHandler(messageSpecs, self)
290-
291-
//register as a listener for peers got connected (handshaked) or disconnected
292-
context.system.eventStream.subscribe(self, classOf[HandshakedPeer])
293-
context.system.eventStream.subscribe(self, classOf[DisconnectedPeer])
294-
// todo: replace the two lines above by a single line with classOf[PeerManagementEvent]
295-
296-
297-
//subscribe for all the node view holder events involving modifiers and transactions
298-
context.system.eventStream.subscribe(self, classOf[NodeViewChange])
299-
context.system.eventStream.subscribe(self, classOf[ModificationOutcome])
300-
viewHolderRef ! GetNodeViewChanges(history = true, state = false, vault = false, mempool = true)
301-
302-
statusTracker.scheduleSendSyncInfo()
303-
}
304-
305306
override def receive: Receive =
306307
getLocalSyncInfo orElse
307308
processSync orElse

0 commit comments

Comments
 (0)