Final Class Yiisoft\Queue\Message\IdEnvelope
| Inheritance | Yiisoft\Queue\Message\IdEnvelope » Yiisoft\Queue\Message\Envelope |
|---|---|
| Implements | Yiisoft\Queue\Message\EnvelopeInterface |
ID envelope allows to identify a message.
Protected Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $message | Yiisoft\Queue\Message\MessageInterface | Yiisoft\Queue\Message\IdEnvelope |
Public Methods
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| getEnvelopeMetadata() | Yiisoft\Queue\Message\IdEnvelope |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| ENVELOPE_STACK_KEY | 'envelopes' | Yiisoft\Queue\Message\EnvelopeInterface | |
| MESSAGE_ID_KEY | 'yii-message-id' | Yiisoft\Queue\Message\IdEnvelope |
Property Details
Method Details
| public mixed __construct ( Yiisoft\Queue\Message\MessageInterface $message, string|integer|null $id ) | ||
| $message | Yiisoft\Queue\Message\MessageInterface | |
| $id | string|integer|null | |
public function __construct(
protected MessageInterface $message,
private readonly string|int|null $id,
) {
}
Defined in: Yiisoft\Queue\Message\Envelope::fromData()
| public static Yiisoft\Queue\Message\IdEnvelope 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));
}
| public static Yiisoft\Queue\Message\IdEnvelope fromMessage ( Yiisoft\Queue\Message\MessageInterface $message ) | ||
| $message | Yiisoft\Queue\Message\MessageInterface | |
public static function fromMessage(MessageInterface $message): static
{
/** @var mixed $rawId */
$rawId = $message->getMetadata()[self::MESSAGE_ID_KEY] ?? null;
/** @var int|string|null $id */
$id = match (true) {
$rawId === null => null, // don't remove this branch: it's important for compute speed
is_string($rawId) => $rawId,
is_int($rawId) => $rawId,
is_object($rawId) && method_exists($rawId, '__toString') => (string)$rawId,
default => null,
};
return new self($message, $id);
}
Defined in: Yiisoft\Queue\Message\Envelope::getData()
| public mixed getData ( ) |
public function getData(): mixed
{
return $this->message->getData();
}
| protected array getEnvelopeMetadata ( ) |
protected function getEnvelopeMetadata(): array
{
return [self::MESSAGE_ID_KEY => $this->getId()];
}
Defined in: Yiisoft\Queue\Message\Envelope::getHandlerName()
| public string getHandlerName ( ) |
public function getHandlerName(): string
{
return $this->message->getHandlerName();
}
Defined in: Yiisoft\Queue\Message\Envelope::getMessage()
| public Yiisoft\Queue\Message\MessageInterface getMessage ( ) |
public function getMessage(): MessageInterface
{
return $this->message;
}
Defined in: Yiisoft\Queue\Message\Envelope::getMetadata()
| 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;
}
Signup or Login in order to comment.