Files
kiri-coroutine-server/core/Struct.php
T
2026-05-09 22:17:19 +08:00

51 lines
881 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;
/**
* @param AuthorizationInterface $user
* @param Request $request
* @param 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;
}
/**
* @return void
*/
public function touch(): void
{
$this->lastSeenAt = time();
}
}