File tree Expand file tree Collapse file tree 1 file changed +24
-19
lines changed
Expand file tree Collapse file tree 1 file changed +24
-19
lines changed Original file line number Diff line number Diff line change @@ -198,28 +198,33 @@ function Server (opts) {
198198 if ( keys . length > 0 ) activeTorrents ++
199199
200200 keys . forEach ( function ( peerId ) {
201- if ( ! allPeers . hasOwnProperty ( peerId ) ) {
202- allPeers [ peerId ] = {
203- ipv4 : false ,
204- ipv6 : false ,
205- seeder : false ,
206- leecher : false
207- }
208- }
209201 // Don't mark the peer as most recently used for stats
210202 var peer = peers . peek ( peerId )
211- if ( peer . ip . indexOf ( ':' ) >= 0 ) {
212- allPeers [ peerId ] . ipv6 = true
213- } else {
214- allPeers [ peerId ] . ipv4 = true
215- }
216- if ( peer . complete ) {
217- allPeers [ peerId ] . seeder = true
218- } else {
219- allPeers [ peerId ] . leecher = true
203+
204+ // The peer could be evicted at this point
205+ if ( typeof peer !== 'undefined' ) {
206+ if ( ! allPeers . hasOwnProperty ( peerId ) ) {
207+ allPeers [ peerId ] = {
208+ ipv4 : false ,
209+ ipv6 : false ,
210+ seeder : false ,
211+ leecher : false
212+ }
213+ }
214+
215+ if ( peer . ip . indexOf ( ':' ) >= 0 ) {
216+ allPeers [ peerId ] . ipv6 = true
217+ } else {
218+ allPeers [ peerId ] . ipv4 = true
219+ }
220+ if ( peer . complete ) {
221+ allPeers [ peerId ] . seeder = true
222+ } else {
223+ allPeers [ peerId ] . leecher = true
224+ }
225+ allPeers [ peerId ] . peerId = peer . peerId
226+ allPeers [ peerId ] . client = peerid ( peer . peerId )
220227 }
221- allPeers [ peerId ] . peerId = peer . peerId
222- allPeers [ peerId ] . client = peerid ( peer . peerId )
223228 } )
224229 } )
225230
You can’t perform that action at this time.
0 commit comments