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

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

            
getData() public method
public mixed getData ( )

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

            
getDelaySeconds() public method

public float getDelaySeconds ( )

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

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