Create a turnstile that admits clients at the specified rate.
Declared in <bslmt_turnstile.h>
explicit
Turnstile(
double rate,
bsls::TimeInterval const& startTime = bsls::TimeInterval(0),
bsls::TimeInterval const& minTimeToCallSleep = bsls::TimeInterval(1e-4));
Create a turnstile object that admits clients at the specified rate, expressed as the number of turns per second. Optionally specify the (relative) startTime of the first turn. If startTime is not specified, the first turn may be taken immediately. Optionally specify minTimeToCallSleep, the shortest period of time in seconds that the waitTurn function will go to sleep. The behavior is undefined unless 0 < rate.
| Name | Description |
|---|---|
| rate | turns per second this turnstile admits |
| startTime | relative time of the first turn |
| minTimeToCallSleep | shortest sleep duration for waitTurn |