Load whether taking numActions would not exceed this throttle's limit.
Synopsis
Declared in <bdlmt_throttle.h>
int
requestPermissionIfValid(
bool* result,
int numActions);
Description
Set the specified *result to true if the time debt incurred by taking the specified numActions would not exceed the maximum allowed time debt configured for this Throttle object (nanosecondsPerAction * maxSimultaneousActions), and set *result to false otherwise. Optionally specify now indicating the current time of the system clock for which this object is configured (now is a offset from that clocks epoch). If now is not supplied, the current time is obtained from the configured system clock. If *result is set to true then numActions * nanosecondsPerAction is added to the time debt accumulated by this component. Return 0 if 0 <= numActions, (numActions <= maxSimultaneousActions or 0 == maxSimultaneousActions), and the value of now, if specified, can be expressed in nanoseconds as a 64‐bit signed integer, and a non‐zero value otherwise. The behavior is undefined unless this throttle has been initialized (either by calling an overload of initialize or using one of the BDLMT_THROTTLE_INIT* macros). Note that unless 0 is returned, *result is unaffected.
Return Value
0 if the arguments are valid, and a non‐zero value otherwise
Parameters
Name |
Description |
result |
destination for whether permission is granted |
numActions |
number of actions requested |
Created with MrDocs