[#BloombergLP-balb-RateLimiter-2constructor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balb.adoc[balb]::xref:BloombergLP/balb/RateLimiter.adoc[RateLimiter]::RateLimiter :relfileprefix: ../../../ :mrdocs: Create a RateLimiter object, having the specified `sustainedRateLimit`, the specified `sustainedRateWindow`, the specified `peakRateLimit`, the specified `peakRateWindow`, and using the specified `currentTime` as the initial `lastUpdateTime`. The behavior is undefined unless `0 < sustainedRateLimit`, `0 < sustainedRateWindow`, `0 < peakRateLimit`, `0 < peakRateWindow`, the product of `sustainedRateLimit` and `sustainedRateWindow` can be represented by 64‐bit unsigned integral type, and the product of `peakRateLimit` and `peakRateWindow` can be represented by 64‐bit unsigned integral type. == Synopsis Declared in `<balb_ratelimiter.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- RateLimiter( xref:BloombergLP/bsls/Types/Uint64.adoc[bsls::Types::Uint64] sustainedRateLimit, xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval] const& sustainedRateWindow, xref:BloombergLP/bsls/Types/Uint64.adoc[bsls::Types::Uint64] peakRateLimit, xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval] const& peakRateWindow, xref:BloombergLP/bsls/TimeInterval.adoc[bsls::TimeInterval] const& currentTime); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#