async def _perform_ping_timeout(self, delay: int):
        """ Handle timeout gracefully.

        Args:
            delay (int): delay before raising the timeout (in seconds)
        """

        # 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)
Handle timeout gracefully.

        Args:
            delay (int): delay before raising the timeout (in seconds)