This PR addresses the issue where stopping a QUICServer with a starting QUICConnection will wait out the timeout of the connection without forcing it to stop. The solution to this is to provide QUICServer wide abort signal to be passed into QUICConnections when they're being created. This abort signal has been modified with setMaxListiners to prevent warnings for more than 11 listeners since it's a 1 signal to many connections.
The QUICClient doesn't need the same treatment for two reasons. First, there is 1 connection per client. Second, it's not possible to stop the client without fully creating the client and connection first.
Issues Fixed
Fixes: #102
Tasks
[X] 1. Abort starting connections when quicServer.stop is called with force: true.
[ci skip]
Description
This PR addresses the issue where stopping a
QUICServer
with a startingQUICConnection
will wait out the timeout of the connection without forcing it to stop. The solution to this is to provideQUICServer
wide abort signal to be passed intoQUICConnection
s when they're being created. This abort signal has been modified withsetMaxListiners
to prevent warnings for more than 11 listeners since it's a 1 signal to many connections.The
QUICClient
doesn't need the same treatment for two reasons. First, there is 1 connection per client. Second, it's not possible to stop the client without fully creating the client and connection first.Issues Fixed
Tasks
quicServer.stop
is called withforce: true
.Final checklist