Files

51 lines
881 B
PHP
Raw Permalink Normal View History

2026-02-26 14:39:04 +08:00
<?php
2026-04-04 10:29:39 +08:00
2026-02-26 14:39:04 +08:00
namespace Coroutine\Server;
2026-04-04 10:29:39 +08:00
use Kiri\Router\Base\AuthorizationInterface;
use Swoole\Http\Request;
2026-02-26 14:39:04 +08:00
use Swoole\Http\Response;
class Struct
{
2026-04-17 14:41:13 +08:00
public int $userId;
public int $fd;
public int $connectedAt;
public int $lastSeenAt;
2026-04-04 10:29:39 +08:00
public AuthorizationInterface $user;
2026-04-17 14:41:13 +08:00
public Request $request;
public Response $ws;
2026-02-26 14:39:04 +08:00
2026-05-09 22:17:19 +08:00
/**
* @param AuthorizationInterface $user
* @param Request $request
* @param Response $ws
*/
2026-04-04 10:29:39 +08:00
public function __construct(AuthorizationInterface $user, Request $request, Response $ws)
2026-02-26 14:39:04 +08:00
{
2026-04-17 14:41:13 +08:00
$this->user = $user;
2026-04-04 10:29:39 +08:00
$this->request = $request;
2026-04-17 14:41:13 +08:00
$this->ws = $ws;
$this->userId = $user->getUniqueId();
$this->fd = (int)($request->fd ?? 0);
$this->connectedAt = time();
$this->lastSeenAt = $this->connectedAt;
}
2026-05-09 22:17:19 +08:00
/**
* @return void
*/
2026-04-17 14:41:13 +08:00
public function touch(): void
{
$this->lastSeenAt = time();
2026-02-26 14:39:04 +08:00
}
}