* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Messenger\Transport; use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface; use Symfony\Contracts\Service\ResetInterface; /** * @author Gary PEGEOT */ class InMemoryTransportFactory implements TransportFactoryInterface, ResetInterface { /** * @var InMemoryTransport[] */ private $createdTransports = []; public function createTransport(string $dsn, array $options, SerializerInterface $serializer): TransportInterface { return $this->createdTransports[] = new InMemoryTransport(); } public function supports(string $dsn, array $options): bool { return 0 === strpos($dsn, 'in-memory://'); } public function reset() { foreach ($this->createdTransports as $transport) { $transport->reset(); } } }