Files
kiri-coroutine-server/core/Struct.php
T
2026-04-17 14:41:13 +08:00

41 lines
721 B
PHP

<?php
namespace Coroutine\Server;
use Kiri\Router\Base\AuthorizationInterface;
use Swoole\Http\Request;
use Swoole\Http\Response;
class Struct
{
public int $userId;
public int $fd;
public int $connectedAt;
public int $lastSeenAt;
public AuthorizationInterface $user;
public Request $request;
public Response $ws;
public function __construct(AuthorizationInterface $user, Request $request, Response $ws)
{
$this->user = $user;
$this->request = $request;
$this->ws = $ws;
$this->userId = $user->getUniqueId();
$this->fd = (int)($request->fd ?? 0);
$this->connectedAt = time();
$this->lastSeenAt = $this->connectedAt;
}
public function touch(): void
{
$this->lastSeenAt = time();
}
}