0 follower

Abstract Class Yiisoft\Queue\Message\Envelope

InheritanceYiisoft\Queue\Message\Envelope
ImplementsYiisoft\Queue\Message\EnvelopeInterface
SubclassesYiisoft\Queue\Message\IdEnvelope, Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope

Protected Methods

Hide inherited methods

Method Description Defined By
getEnvelopeMetadata() Yiisoft\Queue\Message\Envelope

Constants

Hide inherited constants

Constant Value Description Defined By
ENVELOPE_STACK_KEY 'envelopes' Yiisoft\Queue\Message\EnvelopeInterface

Property Details

Hide inherited properties

$message protected property

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( Yiisoft\Queue\Message\MessageInterface $message )
$message Yiisoft\Queue\Message\MessageInterface

                public function __construct(protected MessageInterface $message)
{
}

            
fromData() public static method

public static Yiisoft\Queue\Message\Envelope fromData ( string $handlerName, mixed $data, array $metadata = [] )
$handlerName string
$data mixed
$metadata array

                public static function fromData(string $handlerName, mixed $data, array $metadata = []): static
{
    /** @psalm-suppress LessSpecificReturnStatement */
    return static::fromMessage(Message::fromData($handlerName, $data, $metadata));
}

            
fromMessage() public abstract static method
public abstract static Yiisoft\Queue\Message\Envelope fromMessage ( Yiisoft\Queue\Message\MessageInterface $message )
$message Yiisoft\Queue\Message\MessageInterface

                public static function fromMessage(MessageInterface $message): static;

            
getData() public method

public mixed getData ( )

                public function getData(): mixed
{
    return $this->message->getData();
}

            
getEnvelopeMetadata() protected abstract method

protected abstract array getEnvelopeMetadata ( )

                abstract protected function getEnvelopeMetadata(): array;

            
getHandlerName() public method

public string getHandlerName ( )

                public function getHandlerName(): string
{
    return $this->message->getHandlerName();
}

            
getMessage() public method

public Yiisoft\Queue\Message\MessageInterface getMessage ( )

                public function getMessage(): MessageInterface
{
    return $this->message;
}

            
getMetadata() public method

public array getMetadata ( )

                public function getMetadata(): array
{
    if ($this->metadata === null) {
        $messageMeta = $this->message->getMetadata();
        $stack = $messageMeta[EnvelopeInterface::ENVELOPE_STACK_KEY] ?? [];
        if (!is_array($stack)) {
            $stack = [];
        }
        $this->metadata = array_merge(
            $messageMeta,
            [
                EnvelopeInterface::ENVELOPE_STACK_KEY => array_merge(
                    $stack,
                    [static::class],
                ),
            ],
            $this->getEnvelopeMetadata(),
        );
    }
    return $this->metadata;
}