code: async def wait_for_connection_lost(self) -> bool:
          
          if not self.connection_lost_waiter.done():
              try:
                  await asyncio.wait_for(
                      asyncio.shield(self.connection_lost_waiter),
                      self.close_timeout,
                      loop=self.loop,
                  )
              except asyncio.TimeoutError:
                  pass
          # Re-check self.connection_lost_waiter.done() synchronously because
          # connection_lost() could run between the moment the timeout occurs
          # and the moment this coroutine resumes running.
          return self.connection_lost_waiter.done()
docs: Wait until the TCP connection is closed or ``self.close_timeout`` elapses.
  
          Return ``True`` if the connection is closed and ``False`` otherwise.