WebSocketFrameInterface.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * This file is part of Swow
  4. *
  5. * @link https://github.com/swow/swow
  6. * @contact twosee <twosee@php.net>
  7. *
  8. * For the full copyright and license information,
  9. * please view the LICENSE file that was distributed with this source code
  10. */
  11. declare(strict_types=1);
  12. namespace Swow\Psr7\Message;
  13. use Psr\Http\Message\StreamInterface;
  14. use Stringable;
  15. interface WebSocketFrameInterface extends Stringable
  16. {
  17. public function getOpcode(): int;
  18. public function setOpcode(int $opcode): static;
  19. public function withOpcode(int $opcode): static;
  20. public function getFin(): bool;
  21. public function setFin(bool $fin): static;
  22. public function withFin(bool $fin): static;
  23. public function getRSV1(): bool;
  24. public function setRSV1(bool $rsv1): static;
  25. public function withRSV1(bool $rsv1): static;
  26. public function getRSV2(): bool;
  27. public function setRSV2(bool $rsv2): static;
  28. public function withRSV2(bool $rsv2): static;
  29. public function getRSV3(): bool;
  30. public function setRSV3(bool $rsv3): static;
  31. public function withRSV3(bool $rsv3): static;
  32. public function getPayloadLength(): int;
  33. public function setPayloadLength(int $payloadLength): static;
  34. public function withPayloadLength(int $payloadLength): static;
  35. public function getMask(): bool;
  36. public function getMaskingKey(): string;
  37. public function setMaskingKey(string $maskingKey): static;
  38. public function withMaskingKey(string $maskingKey): static;
  39. public function getPayloadData(): StreamInterface;
  40. public function setPayloadData(mixed $payloadData): static;
  41. public function withPayloadData(mixed $payloadData): static;
  42. public function toString(bool $withoutPayloadData = false): string;
  43. }