<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">RatePolicy</string>
    <string name="">An instance of [*RatePolicy] is associated with a [link beast.ref.boost__beast__basic_stream `basic_stream`], and controls the rate at which bytes may be independently sent and received. This may be used to achieve fine-grained bandwidth management and flow control.</string>
    <string name="">Associated Types</string>
    <string name="">* [link beast.ref.boost__beast__rate_policy_access `rate_policy_access`]</string>
    <string name="">These requirements may undergo non-backward compatible</string>
    <string name="">Requirements</string>
    <string name="">In this table:</string>
    <string name="">* `P` denotes a type that meets the requirements of [*RatePolicy].\n* `x` denotes an xvalue of type `P`\n* `a` denotes a value of type `P`.\n* `n` denotes a value of type `std::size_t`</string>
    <string name="">Valid expressions</string>
    <string name="">Expression</string>
    <string name="">Type</string>
    <string name="">Semantics, Pre/Post-conditions</string>
    <string name="">`P a(x)`</string>
    <string name="">Requires [\'MoveConstructible].</string>
    <string name="">`friend rate_policy_access`</string>
    <string name="">The member functions required in `P` should be private. [link beast.ref.boost__beast__rate_policy_access `rate_policy_access`] must be a friend of `P` for the implementation to gain access to the required member functions.</string>
    <string name="">`a.available_read_bytes()`</string>
    <string name="36"></string>
    <string name="">This function is called by the implementation to determine the maximum number of allowed bytes to be transferred in the next read operation. The actual number of bytes subsequently transferred may be less than this number.\n\nIf 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.</string>
    <string name="">`a.available_write_bytes()`</string>
    <string name="">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.\n\nIf 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.</string>
    <string name="">`a.transfer_read_bytes(n)`</string>
    <string name="">The implementation calls this function to inform the policy that `n` bytes were successfully transferred in the most recent read operation. The policy object may optionally use this information to calculate throughputs and/or inform the algorithm used to determine subsequently queried transfer maximums.</string>
    <string name="">`a.transfer_write_bytes(n)`</string>
    <string name="">The implementation calls this function to inform the policy that `n` bytes were successfully transferred in the most recent write operation. The policy object may optionally use this information to calculate throughputs and/or inform the algorithm used to determine subsequently queried transfer limits.</string>
    <string name="">`a.on_timer()`</string>
    <string name="">The implementation calls this function every time the internal timer expires. The policy object may optionally use this opportunity to calculate elapsed time and throughput, and/or inform the algorithm used to determine subsequently queried transfer limits.</string>
    <string name="">Exemplar</string>
    <string name="">Models</string>
    <string name="">* [link beast.ref.boost__beast__simple_rate_policy `simple_rate_policy`]\n* [link beast.ref.boost__beast__unlimited_rate_policy `unlimited_rate_policy`]</string>
</resources>
