@@ -490,14 +490,20 @@ export class Topology extends TypedEventEmitter<TopologyEvents> {
490490 }
491491 }
492492
493+ closeCheckedOutConnections ( ) {
494+ for ( const server of this . s . servers . values ( ) ) {
495+ return server . closeCheckedOutConnections ( ) ;
496+ }
497+ }
498+
493499 /** Close this topology */
494500 close ( ) : void {
495501 if ( this . s . state === STATE_CLOSED || this . s . state === STATE_CLOSING ) {
496502 return ;
497503 }
498504
499505 for ( const server of this . s . servers . values ( ) ) {
500- destroyServer ( server , this ) ;
506+ closeServer ( server , this ) ;
501507 }
502508
503509 this . s . servers . clear ( ) ;
@@ -791,12 +797,12 @@ export class Topology extends TypedEventEmitter<TopologyEvents> {
791797}
792798
793799/** Destroys a server, and removes all event listeners from the instance */
794- function destroyServer ( server : Server , topology : Topology ) {
800+ function closeServer ( server : Server , topology : Topology ) {
795801 for ( const event of LOCAL_SERVER_EVENTS ) {
796802 server . removeAllListeners ( event ) ;
797803 }
798804
799- server . destroy ( ) ;
805+ server . close ( ) ;
800806 topology . emitAndLog (
801807 Topology . SERVER_CLOSED ,
802808 new ServerClosedEvent ( topology . s . id , server . description . address )
@@ -903,7 +909,7 @@ function updateServers(topology: Topology, incomingServerDescription?: ServerDes
903909
904910 // prepare server for garbage collection
905911 if ( server ) {
906- destroyServer ( server , topology ) ;
912+ closeServer ( server , topology ) ;
907913 }
908914 }
909915}
0 commit comments