code: def request_timeout_hint(timeout_hint):
      
      if timeout_hint is not None:
          timeout_hint = float(timeout_hint)
  
      def decorator(handler):
          handler.request_timeout_hint = timeout_hint
          return handler
  
      return decorator
docs: Decorator; add recommended client timeout hint to a request for request
  
      Useful for requests that take longer than average to reply. Hint is provided
      to clients via ?request-timeout-hint. Note this is only exposed if the
      device server sets the protocol version to KATCP v5.1 or higher and enables
      the REQUEST_TIMEOUT_HINTS flag in its PROTOCOL_INFO class attribute
  
      Parameters
      ----------
      timeout_hint : float (seconds) or None
          How long the decorated request should reasonably take to reply. No
          timeout hint if None, similar to never using the decorator, provided for
          consistency.
  
      Examples
      --------
      >>> class MyDevice(DeviceServer):
      ...     @return_reply(Int())
      ...     @request_timeout_hint(15) # Set request timeout hint to 15 seconds
      ...     @tornado.gen.coroutine
      ...     def request_myreq(self, req):
      ...         '''A slow request'''
      ...         result = yield self.slow_operation()
      ...         raise tornado.gen.Return((req, result))
      ...