code: async def close(self, *args, _conn=None, **kwargs):
          
          start = time.monotonic()
          ret = await self._close(*args, _conn=_conn, **kwargs)
          logger.debug("CLOSE (%.4f)s", time.monotonic() - start)
          return ret
docs: Perform any resource clean up necessary to exit the program safely.
          After closing, cmd execution is still possible but you will have to
          close again before exiting.
  
          :raises: :class:`asyncio.TimeoutError` if it lasts more than self.timeout