@@ -101,6 +101,7 @@ async function startService ({ peerId, port, peerAnnounceAddr, awsClient, connec
101
101
}
102
102
}
103
103
104
+ const cancelsPerPeer = new Map ( )
104
105
service . addEventListener ( 'error' , err => {
105
106
logger . warn ( { err } , 'libp2p error event' )
106
107
} )
@@ -109,7 +110,7 @@ async function startService ({ peerId, port, peerAnnounceAddr, awsClient, connec
109
110
service . handle ( protocol , async ( { connection : dial , stream } ) => {
110
111
try {
111
112
const connection = new Connection ( stream )
112
- const canceled = new LRU ( { max : 200 } )
113
+ const canceled = cancelsPerPeer . get ( dial . remotePeer . toString ( ) )
113
114
114
115
const hrTime = process . hrtime ( )
115
116
const connectionId = hrTime [ 0 ] * 1000000000 + hrTime [ 1 ]
@@ -161,20 +162,28 @@ async function startService ({ peerId, port, peerAnnounceAddr, awsClient, connec
161
162
162
163
// TODO move to networking
163
164
service . connectionManager . addEventListener ( 'peer:connect' , connection => {
165
+ cancelsPerPeer . set (
166
+ connection . detail . remotePeer . toString ( ) ,
167
+ new LRU ( { max : 200 } )
168
+ )
169
+
164
170
try {
165
171
telemetry . increaseCount ( 'bitswap-connections' )
166
172
telemetry . increaseGauge ( 'bitswap-active-connections' )
167
173
} catch ( err ) {
168
- logger . warn ( { err, remotePeer : connection . remotePeer } , 'Error while peer connecting' )
174
+ logger . warn ( { err, remotePeer : connection . detail . remotePeer . toString ( ) } , 'Error while peer connecting' )
169
175
}
170
176
} )
171
177
172
178
// TODO move to networking
173
179
service . connectionManager . addEventListener ( 'peer:disconnect' , connection => {
180
+ cancelsPerPeer . delete (
181
+ connection . detail . remotePeer . toString ( )
182
+ )
174
183
try {
175
184
telemetry . decreaseGauge ( 'bitswap-active-connections' )
176
185
} catch ( err ) {
177
- logger . warn ( { err, remotePeer : connection . remotePeer } , 'Error while peer disconnecting' )
186
+ logger . warn ( { err, remotePeer : connection . detail . remotePeer . toString ( ) } , 'Error while peer disconnecting' )
178
187
}
179
188
} )
180
189
0 commit comments