     /// Checks all known hosts for isMaster and writability
     private func rediscover() -> EventLoopFuture<Void> {
         if isClosed {
+            logger.info("Rediscovering, but the server is disconnected")
             return eventLoop.makeFailedFuture(MongoError(.cannotConnect, reason: .connectionClosed))
         }
 

            })
        }

        self.timeoutHosts = []
        let done = EventLoopFuture<Void>.andAllComplete(handshakes, on: self.eventLoop)
        if let didRediscover = self.didRediscover {

    /// Closes all connections
    @discardableResult
    public func disconnect() -> EventLoopFuture<Void> {
        logger.debug("Disconnecting MongoDB Cluster")
        return self.eventLoop.flatSubmit {
            self.wireVersion = nil
            self.isClosed = true
