0

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
$meta 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]);
}

            
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->getMeta()[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,
        default => null,
    };
    return new self($message, $id);
}

            
fromPayload() public static method

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

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

public static static fromPayload ( string $type, mixed $payload )
$type string
$payload mixed
throws LogicException

Always, since this method is not supported for envelopes.

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

            
getId() public method

public string|int|null getId ( )

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

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

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

            
getMeta() public method
public array getMeta ( )

                final public function getMeta(): array
{
    return $this->meta;
}

            
getPayload() public method
public bool|int|float|string|array|null getPayload ( )

                final public function getPayload(): bool|int|float|string|array|null
{
    return $this->message->getPayload();
}

            
getType() public method
public string getType ( )

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

            
withMeta() public method
public static withMeta ( array $meta )
$meta array

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