1
1
package io .iohk .ethereum .blockchain .sync
2
2
3
3
import java .net .InetSocketAddress
4
+ import java .util .concurrent .ThreadLocalRandom
4
5
5
6
import akka .actor .{ActorRef , ActorSystem }
6
7
import akka .testkit .TestActor .AutoPilot
@@ -14,12 +15,12 @@ import io.iohk.ethereum.blockchain.sync.SyncStateSchedulerActor.{
14
15
}
15
16
import io .iohk .ethereum .domain .BlockchainImpl
16
17
import io .iohk .ethereum .network .EtcPeerManagerActor .{GetHandshakedPeers , HandshakedPeers , PeerInfo , SendMessage }
17
- import io .iohk .ethereum .network .{Peer , PeerId }
18
18
import io .iohk .ethereum .network .PeerEventBusActor .PeerEvent .MessageFromPeer
19
19
import io .iohk .ethereum .network .p2p .messages .CommonMessages .Status
20
20
import io .iohk .ethereum .network .p2p .messages .PV63 .GetNodeData .GetNodeDataEnc
21
21
import io .iohk .ethereum .network .p2p .messages .PV63 .NodeData
22
22
import io .iohk .ethereum .network .p2p .messages .Versions
23
+ import io .iohk .ethereum .network .{Peer , PeerId }
23
24
import io .iohk .ethereum .utils .Config
24
25
import io .iohk .ethereum .{Fixtures , ObjectGenerators , WithActorSystemShutDown }
25
26
import org .scalactic .anyvals .PosInt
@@ -29,7 +30,6 @@ import org.scalatest.matchers.should.Matchers
29
30
import org .scalatestplus .scalacheck .ScalaCheckPropertyChecks
30
31
31
32
import scala .concurrent .duration ._
32
- import scala .util .Random
33
33
34
34
class StateSyncSpec
35
35
extends TestKit (ActorSystem (" MySpec" ))
@@ -131,7 +131,7 @@ class StateSyncSpec
131
131
}
132
132
133
133
val maxMptNodeRequest = 50
134
-
134
+ val minMptNodeRequest = 20
135
135
val partialResponseConfig : PeerConfig = peersMap.map { case (peer, _) =>
136
136
peer.id -> PartialResponse
137
137
}
@@ -162,7 +162,8 @@ class StateSyncSpec
162
162
sender ! MessageFromPeer (responseMsg, peer)
163
163
this
164
164
case PartialResponse =>
165
- val elementsToServe = Random .nextInt(maxMptNodeRequest)
165
+ val random : ThreadLocalRandom = ThreadLocalRandom .current()
166
+ val elementsToServe = random.nextInt(minMptNodeRequest, maxMptNodeRequest + 1 )
166
167
val toGet = msg.underlyingMsg.mptElementsHashes.toList.take(elementsToServe)
167
168
val responseMsg = NodeData (trieProvider.getNodes(toGet).map(_.data))
168
169
sender ! MessageFromPeer (responseMsg, peer)
0 commit comments