| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/php/PhpAmqpLib/Channel/ |
Upload File : |
<?php
namespace PhpAmqpLib\Channel;
use PhpAmqpLib\Wire\AMQPReader;
/**
* @link https://livebook.manning.com/book/rabbitmq-in-depth/chapter-2/v-13/22
* @link https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf 4.2.6 Content Framing
*/
final class Frame
{
public const FRAME_HEADER_SIZE = AMQPReader::OCTET + AMQPReader::SHORT + AMQPReader::LONG;
public const END = 0xCE;
public const TYPE_METHOD = 1;
public const TYPE_HEADER = 2;
public const TYPE_BODY = 3;
public const TYPE_HEARTBEAT = 8;
/** @var int */
private $type;
/** @var int */
private $channel;
/** @var int */
private $size;
/** @var string|null */
private $payload;
public function __construct(int $type, int $channel, int $size, ?string $payload = null)
{
$this->type = $type;
$this->channel = $channel;
$this->size = $size;
$this->payload = $payload;
}
/**
* @return int
*/
public function getType(): int
{
return $this->type;
}
/**
* @return int
*/
public function getChannel(): int
{
return $this->channel;
}
/**
* @return int
*/
public function getSize(): int
{
return $this->size;
}
public function getPayload(): ?string
{
return $this->payload;
}
public function isMethod(): bool
{
return $this->type === self::TYPE_METHOD;
}
public function isHeartbeat(): bool
{
return $this->type === self::TYPE_HEARTBEAT;
}
}