[#BloombergLP-bdlmt-Throttle-requestPermission-0db] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlmt.adoc[bdlmt]::xref:BloombergLP/bdlmt/Throttle.adoc[Throttle]::requestPermission :relfileprefix: ../../../ :mrdocs: Return `true` if the time debt incurred by taking the indicated action(s) would _not_ exceed the maximum allowed time debt configured for this `Throttle` object (`nanosecondsPerAction * maxSimultaneousActions`), and `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. Optionally specify `numActions` indicating the number of actions requested. If `numActions` is not supplied, one action is requested. If this function returns `true` then `numActions * nanosecondsPerAction` is added to the time debt accumulated by this component. 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), `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. Note that `requestPermissionIfValid`, unlike these methods, does not have any preconditions on the value of `numActions`. == Synopsis Declared in `<bdlmt_throttle.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- bool requestPermission(); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#