@@ -49,9 +49,7 @@ class PeerActor[R <: HandshakeResult](
4949
5050 def scheduler : Scheduler = externalSchedulerOpt getOrElse system.scheduler
5151
52- val peerId : PeerId = PeerId (self.path.name)
53-
54- val peer : Peer = Peer (peerAddress, self, incomingConnection)
52+ val peerId : PeerId = PeerId .fromRef(self)
5553
5654 override def receive : Receive = waitingForInitialCommand
5755
@@ -87,7 +85,7 @@ class PeerActor[R <: HandshakeResult](
8785 case RLPxConnectionHandler .ConnectionEstablished (remoteNodeId) =>
8886 val newUri =
8987 rlpxConnection.uriOpt.map(outGoingUri => modifyOutGoingUri(remoteNodeId, rlpxConnection, outGoingUri))
90- processHandshakerNextMessage(initHandshaker, rlpxConnection.copy(uriOpt = newUri), numRetries)
88+ processHandshakerNextMessage(initHandshaker, remoteNodeId, rlpxConnection.copy(uriOpt = newUri), numRetries)
9189
9290 case RLPxConnectionHandler .ConnectionFailed =>
9391 log.debug(" Failed to establish RLPx connection" )
@@ -109,6 +107,7 @@ class PeerActor[R <: HandshakeResult](
109107
110108 def processingHandshaking (
111109 handshaker : Handshaker [R ],
110+ remoteNodeId : ByteString ,
112111 rlpxConnection : RLPxConnection ,
113112 timeout : Cancellable ,
114113 numRetries : Int
@@ -122,14 +121,14 @@ class PeerActor[R <: HandshakeResult](
122121 // handles the received message
123122 handshaker.applyMessage(msg).foreach { newHandshaker =>
124123 timeout.cancel()
125- processHandshakerNextMessage(newHandshaker, rlpxConnection, numRetries)
124+ processHandshakerNextMessage(newHandshaker, remoteNodeId, rlpxConnection, numRetries)
126125 }
127126 handshaker.respondToRequest(msg).foreach(msgToSend => rlpxConnection.sendMessage(msgToSend))
128127
129128 case ResponseTimeout =>
130129 timeout.cancel()
131130 val newHandshaker = handshaker.processTimeout
132- processHandshakerNextMessage(newHandshaker, rlpxConnection, numRetries)
131+ processHandshakerNextMessage(newHandshaker, remoteNodeId, rlpxConnection, numRetries)
133132
134133 case GetStatus => sender() ! StatusResponse (Handshaking (numRetries))
135134
@@ -145,18 +144,19 @@ class PeerActor[R <: HandshakeResult](
145144 */
146145 private def processHandshakerNextMessage (
147146 handshaker : Handshaker [R ],
147+ remoteNodeId : ByteString ,
148148 rlpxConnection : RLPxConnection ,
149149 numRetries : Int
150150 ): Unit =
151151 handshaker.nextMessage match {
152152 case Right (NextMessage (msgToSend, timeoutTime)) =>
153153 rlpxConnection.sendMessage(msgToSend)
154154 val newTimeout = scheduler.scheduleOnce(timeoutTime, self, ResponseTimeout )
155- context become processingHandshaking(handshaker, rlpxConnection, newTimeout, numRetries)
155+ context become processingHandshaking(handshaker, remoteNodeId, rlpxConnection, newTimeout, numRetries)
156156
157157 case Left (HandshakeSuccess (handshakeResult)) =>
158158 rlpxConnection.uriOpt.foreach { uri => knownNodesManager ! KnownNodesManager .AddKnownNode (uri) }
159- context become new HandshakedPeer (rlpxConnection, handshakeResult).receive
159+ context become new HandshakedPeer (remoteNodeId, rlpxConnection, handshakeResult).receive
160160 unstashAll()
161161
162162 case Left (HandshakeFailure (reason)) =>
@@ -244,8 +244,9 @@ class PeerActor[R <: HandshakeResult](
244244 stash()
245245 }
246246
247- class HandshakedPeer (rlpxConnection : RLPxConnection , handshakeResult : R ) {
247+ class HandshakedPeer (remoteNodeId : ByteString , rlpxConnection : RLPxConnection , handshakeResult : R ) {
248248
249+ val peer : Peer = Peer (peerAddress, self, incomingConnection, Some (remoteNodeId))
249250 peerEventBus ! Publish (PeerHandshakeSuccessful (peer, handshakeResult))
250251
251252 /**
0 commit comments