1 | <?php declare(strict_types=1); |
||
5 | class Retry implements PolicyInterface |
||
6 | { |
||
7 | private $limit; |
||
8 | |||
9 | private $delay = 0; |
||
10 | |||
11 | private $on = []; |
||
12 | |||
13 | private $abortOn = []; |
||
14 | |||
15 | private $retries = 0; |
||
16 | |||
17 | 4 | public function atLeast(int $limit) : Retry |
|
23 | |||
24 | 4 | public function forever() : Retry |
|
30 | |||
31 | 4 | public function once() : Retry |
|
37 | |||
38 | 2 | public function twice() : Retry |
|
44 | |||
45 | 2 | public function withDelay(int $delay, int $unit) : Retry |
|
51 | |||
52 | 2 | public function onlyOnException(string $exception) : Retry |
|
58 | |||
59 | 2 | public function abortOnException(string $exception) : Retry |
|
65 | |||
66 | 16 | public function isInsideRetryLimit() |
|
74 | |||
75 | 14 | public function isExpectedException(\Exception $e) |
|
79 | |||
80 | 14 | public function isAbortableException(\Exception $e) |
|
84 | |||
85 | 14 | public function canRetry(\Exception $e) |
|
91 | |||
92 | 16 | public function run(callable $operation, $args = []) |
|
108 | } |
||
109 |