* `P` denotes a type that meets the requirements of [*RatePolicy]. * `x` denotes an xvalue of type `P` * `a` denotes a value of type `P`. * `n` denotes a value of type `std::size_t`
This function is called by the implementation to determine the maximum number of allowed bytes to be transferred in the next write operation. The actual number of bytes subsequently transferred may be less than this number. If the policy returns a value of zero, the read operation will asynchronously wait until the next timer interval before retrying. When the retry occurs, this function will be called again.