FrameInterface.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * This file is part of Hyperf.
  5. *
  6. * @link https://www.hyperf.io
  7. * @document https://hyperf.wiki
  8. * @contact group@hyperf.io
  9. * @license https://github.com/hyperf/hyperf/blob/master/LICENSE
  10. */
  11. namespace Hyperf\Engine\Contract\WebSocket;
  12. use Psr\Http\Message\StreamInterface;
  13. use Stringable;
  14. interface FrameInterface extends Stringable
  15. {
  16. public function getOpcode(): int;
  17. public function setOpcode(int $opcode): static;
  18. public function withOpcode(int $opcode): static;
  19. public function getFin(): bool;
  20. public function setFin(bool $fin): static;
  21. public function withFin(bool $fin): static;
  22. public function getRSV1(): bool;
  23. public function setRSV1(bool $rsv1): static;
  24. public function withRSV1(bool $rsv1): static;
  25. public function getRSV2(): bool;
  26. public function setRSV2(bool $rsv2): static;
  27. public function withRSV2(bool $rsv2): static;
  28. public function getRSV3(): bool;
  29. public function setRSV3(bool $rsv3): static;
  30. public function withRSV3(bool $rsv3): static;
  31. public function getPayloadLength(): int;
  32. public function setPayloadLength(int $payloadLength): static;
  33. public function withPayloadLength(int $payloadLength): static;
  34. public function getMask(): bool;
  35. public function getMaskingKey(): string;
  36. public function setMaskingKey(string $maskingKey): static;
  37. public function withMaskingKey(string $maskingKey): static;
  38. public function getPayloadData(): StreamInterface;
  39. public function setPayloadData(mixed $payloadData): static;
  40. public function withPayloadData(mixed $payloadData): static;
  41. public function toString(bool $withoutPayloadData = false): string;
  42. public static function from(mixed $frame): static;
  43. }