update
This commit is contained in:
40
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/ListableReceiverInterface.php
vendored
Normal file
40
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/ListableReceiverInterface.php
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Messenger\Transport\Receiver;
|
||||
|
||||
use Symfony\Component\Messenger\Envelope;
|
||||
|
||||
/**
|
||||
* Used when a receiver has the ability to list messages and find specific messages.
|
||||
* A receiver that implements this should add the TransportMessageIdStamp
|
||||
* to the Envelopes that it returns.
|
||||
*
|
||||
* @author Ryan Weaver <ryan@symfonycasts.com>
|
||||
*/
|
||||
interface ListableReceiverInterface extends ReceiverInterface
|
||||
{
|
||||
/**
|
||||
* Returns all the messages (up to the limit) in this receiver.
|
||||
*
|
||||
* Messages should be given the same stamps as when using ReceiverInterface::get().
|
||||
*
|
||||
* @return Envelope[]|iterable
|
||||
*/
|
||||
public function all(?int $limit = null): iterable;
|
||||
|
||||
/**
|
||||
* Returns the Envelope by id or none.
|
||||
*
|
||||
* Message should be given the same stamps as when using ReceiverInterface::get().
|
||||
*/
|
||||
public function find(mixed $id): ?Envelope;
|
||||
}
|
||||
26
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/MessageCountAwareInterface.php
vendored
Normal file
26
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/MessageCountAwareInterface.php
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Messenger\Transport\Receiver;
|
||||
|
||||
/**
|
||||
* @author Samuel Roze <samuel.roze@gmail.com>
|
||||
* @author Ryan Weaver <ryan@symfonycasts.com>
|
||||
*/
|
||||
interface MessageCountAwareInterface
|
||||
{
|
||||
/**
|
||||
* Returns the number of messages waiting to be handled.
|
||||
*
|
||||
* In some systems, this may be an approximate number.
|
||||
*/
|
||||
public function getMessageCount(): int;
|
||||
}
|
||||
31
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/QueueReceiverInterface.php
vendored
Normal file
31
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/QueueReceiverInterface.php
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Messenger\Transport\Receiver;
|
||||
|
||||
use Symfony\Component\Messenger\Envelope;
|
||||
|
||||
/**
|
||||
* Some transports may have multiple queues. This interface is used to read from only some queues.
|
||||
*
|
||||
* @author David Buchmann <mail@davidbu.ch>
|
||||
*/
|
||||
interface QueueReceiverInterface extends ReceiverInterface
|
||||
{
|
||||
/**
|
||||
* Get messages from the specified queue names instead of consuming from all queues.
|
||||
*
|
||||
* @param string[] $queueNames
|
||||
*
|
||||
* @return Envelope[]
|
||||
*/
|
||||
public function getFromQueues(array $queueNames): iterable;
|
||||
}
|
||||
61
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/ReceiverInterface.php
vendored
Normal file
61
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/ReceiverInterface.php
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Messenger\Transport\Receiver;
|
||||
|
||||
use Symfony\Component\Messenger\Envelope;
|
||||
use Symfony\Component\Messenger\Exception\TransportException;
|
||||
|
||||
/**
|
||||
* @author Samuel Roze <samuel.roze@gmail.com>
|
||||
* @author Ryan Weaver <ryan@symfonycasts.com>
|
||||
*/
|
||||
interface ReceiverInterface
|
||||
{
|
||||
/**
|
||||
* Receives some messages.
|
||||
*
|
||||
* While this method could return an unlimited number of messages,
|
||||
* the intention is that it returns only one, or a "small number"
|
||||
* of messages each time. This gives the user more flexibility:
|
||||
* they can finish processing the one (or "small number") of messages
|
||||
* from this receiver and move on to check other receivers for messages.
|
||||
* If this method returns too many messages, it could cause a
|
||||
* blocking effect where handling the messages received from one
|
||||
* call to get() takes a long time, blocking other receivers from
|
||||
* being called.
|
||||
*
|
||||
* If applicable, the Envelope should contain a TransportMessageIdStamp.
|
||||
*
|
||||
* If a received message cannot be decoded, the message should not
|
||||
* be retried again (e.g. if there's a queue, it should be removed)
|
||||
* and a MessageDecodingFailedException should be thrown.
|
||||
*
|
||||
* @return iterable<Envelope>
|
||||
*
|
||||
* @throws TransportException If there is an issue communicating with the transport
|
||||
*/
|
||||
public function get(): iterable;
|
||||
|
||||
/**
|
||||
* Acknowledges that the passed message was handled.
|
||||
*
|
||||
* @throws TransportException If there is an issue communicating with the transport
|
||||
*/
|
||||
public function ack(Envelope $envelope): void;
|
||||
|
||||
/**
|
||||
* Called when handling the message failed and it should not be retried.
|
||||
*
|
||||
* @throws TransportException If there is an issue communicating with the transport
|
||||
*/
|
||||
public function reject(Envelope $envelope): void;
|
||||
}
|
||||
55
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/SingleMessageReceiver.php
vendored
Normal file
55
projects/priceservice/vendor/symfony/messenger/Transport/Receiver/SingleMessageReceiver.php
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Symfony\Component\Messenger\Transport\Receiver;
|
||||
|
||||
use Symfony\Component\Messenger\Envelope;
|
||||
|
||||
/**
|
||||
* Receiver that decorates another, but receives only 1 specific message.
|
||||
*
|
||||
* @author Ryan Weaver <ryan@symfonycasts.com>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
class SingleMessageReceiver implements ReceiverInterface
|
||||
{
|
||||
private ReceiverInterface $receiver;
|
||||
private Envelope $envelope;
|
||||
private bool $hasReceived = false;
|
||||
|
||||
public function __construct(ReceiverInterface $receiver, Envelope $envelope)
|
||||
{
|
||||
$this->receiver = $receiver;
|
||||
$this->envelope = $envelope;
|
||||
}
|
||||
|
||||
public function get(): iterable
|
||||
{
|
||||
if ($this->hasReceived) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$this->hasReceived = true;
|
||||
|
||||
return [$this->envelope];
|
||||
}
|
||||
|
||||
public function ack(Envelope $envelope): void
|
||||
{
|
||||
$this->receiver->ack($envelope);
|
||||
}
|
||||
|
||||
public function reject(Envelope $envelope): void
|
||||
{
|
||||
$this->receiver->reject($envelope);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user