Waits until the request can be made without exceeding the limit.
This might be appropriate in batch-processing, where latencies of individual requests are
not important.
Ignore
Disables flow-control.
This is provided mainly for debugging and not recommended for production use. Having too
many requests in-flight might cause RPCs to fail due to congested network or the computer to
run out of memory due to excessive buffering, etc.
ThrowException
Throws MaxOutstandingElementCountReachedException or MaxOutstandingRequestBytesReachedException.
This might be appropriate in interactive scenarios. For example, a web server might catch
these exceptions and report to the user that the system is overloaded and that the user could
try again later. It could also be useful in applications that implement custom rate-limiting
logic.