REDROOM
PHP 8.3.31
Path:
Logout
Edit File
Size: 2.96 KB
Close
/home/getspomw/royalsquad.us/vendor/laravel/framework/src/Illuminate/Redis/Limiters/DurationLimiterBuilder.php
Text
Base64
<?php namespace Illuminate\Redis\Limiters; use Illuminate\Contracts\Redis\LimiterTimeoutException; use Illuminate\Support\InteractsWithTime; class DurationLimiterBuilder { use InteractsWithTime; /** * The Redis connection. * * @var \Illuminate\Redis\Connections\Connection */ public $connection; /** * The name of the lock. * * @var string */ public $name; /** * The maximum number of locks that can be obtained per time window. * * @var int */ public $maxLocks; /** * The amount of time the lock window is maintained. * * @var int */ public $decay; /** * The amount of time to block until a lock is available. * * @var int */ public $timeout = 3; /** * The number of milliseconds to wait between attempts to acquire the lock. * * @var int */ public $sleep = 750; /** * Create a new builder instance. * * @param \Illuminate\Redis\Connections\Connection $connection * @param string $name * @return void */ public function __construct($connection, $name) { $this->name = $name; $this->connection = $connection; } /** * Set the maximum number of locks that can be obtained per time window. * * @param int $maxLocks * @return $this */ public function allow($maxLocks) { $this->maxLocks = $maxLocks; return $this; } /** * Set the amount of time the lock window is maintained. * * @param \DateTimeInterface|\DateInterval|int $decay * @return $this */ public function every($decay) { $this->decay = $this->secondsUntil($decay); return $this; } /** * Set the amount of time to block until a lock is available. * * @param int $timeout * @return $this */ public function block($timeout) { $this->timeout = $timeout; return $this; } /** * The number of milliseconds to wait between lock acquisition attempts. * * @param int $sleep * @return $this */ public function sleep($sleep) { $this->sleep = $sleep; return $this; } /** * Execute the given callback if a lock is obtained, otherwise call the failure callback. * * @param callable $callback * @param callable|null $failure * @return mixed * * @throws \Illuminate\Contracts\Redis\LimiterTimeoutException */ public function then(callable $callback, ?callable $failure = null) { try { return (new DurationLimiter( $this->connection, $this->name, $this->maxLocks, $this->decay ))->block($this->timeout, $callback, $this->sleep); } catch (LimiterTimeoutException $e) { if ($failure) { return $failure($e); } throw $e; } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 4
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ConcurrencyLimiter.php
3.80 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConcurrencyLimiterBuilder.php
3.03 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DurationLimiter.php
4.61 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DurationLimiterBuilder.php
2.96 KB
lrw-rw-rw-
2025-09-17 06:52:57
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).