code: async def _perform_ping_timeout(self, delay: int):
          
  
          # pause for delay seconds
          await sleep(delay)
          # then continue
          error = TimeoutError(
              'Ping timeout: no data received from server in {timeout} seconds.'.format(
                  timeout=self.PING_TIMEOUT))
          await self.on_data_error(error)
docs: Handle timeout gracefully.
  
          Args:
              delay (int): delay before raising the timeout (in seconds)