<?phpnamespace App\Chat;/** One client as the chat sees it: something frames can be sent to, and closed. The TCP server and the tests give one. */interface Session{ public function send(string $code, array $fields = []): void; public function close(): void; /** The remote address, for the logs. */ public function address(): string; /** The visitor's public IP address (behind Traefik / Cloudflare: see App\Net\ClientIp), '' when unknown. */ public function ip(): string;}