/**
* Uses several Transports using a failover algorithm.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class FailoverTransport extends RoundRobinTransport
{ private ?TransportInterface
$currentTransport = null;
protected function getNextTransport(MessageInterface
$message): ?TransportInterface
{ if (null ===
$this->currentTransport ||
$this->
isTransportDead($this->currentTransport
)) { $this->currentTransport = parent::
getNextTransport($message);
} return $this->currentTransport;
} protected function getInitialCursor(): int
{ return 0;
}