configuration['transports'][$id])) { throw new \InvalidArgumentException('Unknown transport name: ' . $id); } if (! isset($this->retryStrategies[$id])) { $strategyDefinition = \array_merge( $this->configuration['defaultRetryStrategyOptions'], $this->configuration['transports'][$id]['retryStrategy'] ?? [] ); if ($strategyDefinition['service']) { $this->retryStrategies[$id] = $this->objectManager->get($strategyDefinition['service']); } else { $this->retryStrategies[$id] = new MultiplierRetryStrategy( $strategyDefinition['maxRetries'], $strategyDefinition['delay'], $strategyDefinition['multiplier'], $strategyDefinition['maxDelay'] ); } } return $this->retryStrategies[$id]; } public function has(string $id) { return isset($this->configuration['transports'][$id]); } }