def _get_request_timeout_hints(self, name=None, timeout=None):
        """Get request timeout hints from device

        Parameters
        =========
        name : str or None, optional
            Name of the request or None to get all request timeout hints.
        timeout : float seconds
            Timeout for ?request-timeout-hint

        Returns
        -------
        Tornado future that resolves with:

        timeout_hints : dict request_name -> timeout_hint

        where

        request_name : str
            Name of the request
        timeout_hint : float
            Suggested request timeout hint from device ?request-timeout_hint

        Note, if there is no request hint, there will be no entry in the
        dict. If you request the hint for a named request that has no hint, an
        empty dict will be returned.

        """
        timeout_hints = {}
        req_msg_args = ['request-timeout-hint']
        if name:
            req_msg_args.append(name)
        req_msg = katcp.Message.request(*req_msg_args)
        reply, informs = yield self.katcp_client.future_request(
            req_msg, timeout=timeout)
        if not reply.reply_ok():
            raise SyncError('Error retrieving request timeout hints: "{}"\n'
                            'in reply to request {}, continuing with sync'
                            .format(reply, req_msg))
        for inform in informs:
            request_name = inform.arguments[0]
            timeout_hint = float(inform.arguments[1])
            if timeout_hint > 0:
                timeout_hints[request_name] = timeout_hint
        raise Return(timeout_hints)
Get request timeout hints from device

        Parameters
        =========
        name : str or None, optional
            Name of the request or None to get all request timeout hints.
        timeout : float seconds
            Timeout for ?request-timeout-hint

        Returns
        -------
        Tornado future that resolves with:

        timeout_hints : dict request_name -> timeout_hint

        where

        request_name : str
            Name of the request
        timeout_hint : float
            Suggested request timeout hint from device ?request-timeout_hint

        Note, if there is no request hint, there will be no entry in the
        dict. If you request the hint for a named request that has no hint, an
        empty dict will be returned.