0 follower

Final Class Yiisoft\Queue\Message\DelayEnvelope

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

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_DELAY_SECONDS 'yii-delay' Yiisoft\Queue\Message\DelayEnvelope

Method Details

Hide inherited methods

__construct() public method

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

                public function __construct(MessageInterface $message, float $delaySeconds)
{
    parent::__construct($message, [self::META_DELAY_SECONDS => $delaySeconds]);
}

            
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
{
    $raw = $message->getMeta()[self::META_DELAY_SECONDS] ?? null;
    return new self($message, is_array($raw) ? 0.0 : (float) $raw);
}

            
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.',
    );
}

            
getDelaySeconds() public method

public float getDelaySeconds ( )

                public function getDelaySeconds(): float
{
    return $this->meta[self::META_DELAY_SECONDS];
}

            
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));
}