0 follower

Final Class Yiisoft\Queue\Message\IdEnvelope

InheritanceYiisoft\Queue\Message\IdEnvelope » Yiisoft\Queue\Message\Envelope
ImplementsYiisoft\Queue\Message\MessageInterface

ID envelope allows to identify a message.

Protected Properties

Hide inherited properties

Property Type Description Defined By
$metadata array Yiisoft\Queue\Message\Envelope

Constants

Hide inherited constants

Constant Value Description Defined By
META_ID 'yii-id' Yiisoft\Queue\Message\IdEnvelope

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( Yiisoft\Queue\Message\MessageInterface $message, string|integer|null $id )
$message Yiisoft\Queue\Message\MessageInterface
$id string|integer|null

                public function __construct(MessageInterface $message, string|int|null $id)
{
    if ($id === '') {
        $id = null;
    }
    parent::__construct($message, [self::META_ID => $id]);
}

            
fromData() public static method

Defined in: Yiisoft\Queue\Message\Envelope::fromData()

Envelopes cannot be created from raw data. Use {@see fromMessage()} to wrap an existing message instead.

public static static fromData ( string $type, mixed $data )
$type string
$data mixed
throws LogicException

Always, since this method is not supported for envelopes.

                final public static function fromData(string $type, mixed $data): static
{
    throw new LogicException(
        'Envelopes cannot be created via "fromData()". Wrap an existing "MessageInterface" instance instead.',
    );
}

            
fromMessage() public static method

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

                public static function fromMessage(MessageInterface $message): static
{
    $rawId = $message->getMetadata()[self::META_ID] ?? null;
    $id = match (true) {
        $rawId === null => null, // don't remove this branch: it's important for compute speed
        is_string($rawId),
        is_int($rawId) => $rawId,
        is_object($rawId) && method_exists($rawId, '__toString') => (string) $rawId,
        default => null,
    };
    return new self($message, $id);
}

            
getData() public method
public mixed getData ( )

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

            
getId() public method

public string|int|null getId ( )

                public function getId(): string|int|null
{
    return $this->metadata[self::META_ID];
}

            
getMessage() public method
public Yiisoft\Queue\Message\MessageInterface getMessage ( )

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

            
getMetadata() public method
public array getMetadata ( )

                final public function getMetadata(): array
{
    return $this->metadata;
}

            
getType() public method
public string getType ( )

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

            
withMetadata() public method
public static withMetadata ( array $metadata )
$metadata array

                final public function withMetadata(array $metadata): static
{
    return static::fromMessage($this->message->withMetadata($metadata));
}