/** @internal */ public static function _applyRetryConfig($value, array &$args) { if (!$value) { return; } $args['client']->getEmitter()->attach(new RetrySubscriber(ClientResolver::_wrapDebugLogger($args, ['max' => $value, 'delay' => function ($retries) { return $retries ? 50 * (int) pow(2, $retries - 1) / 1000 : 0; }, 'filter' => RetrySubscriber::createChainFilter([new ThrottlingFilter($args['error_parser']), new Crc32Filter($args['error_parser']), RetrySubscriber::createStatusFilter(), RetrySubscriber::createConnectFilter()])]))); }
private static function createRetry() { return function ($value, array &$args) { if ($value) { $args['client']->getEmitter()->attach(new RetrySubscriber(ClientResolver::_wrapDebugLogger($args, ['max' => $value, 'delay' => ['GuzzleHttp\\Subscriber\\Retry\\RetrySubscriber', 'exponentialDelay'], 'filter' => RetrySubscriber::createChainFilter([new S3TimeoutFilter(), new ThrottlingFilter($args['error_parser']), RetrySubscriber::createStatusFilter(), RetrySubscriber::createConnectFilter()])]))); } }; }