WsSession class
Sessão WebSocket.
Representa uma sessão lógica do usuário, independente da conexão física. Uma sessão pode sobreviver a múltiplas conexões (reconexão).
Regras:
- Sessão sobrevive à queda de conexão
- Sessão é única por usuário/dispositivo
- Uma sessão = uma conexão ativa no máximo
Constructors
- WsSession({required String sessionId, String? userId, WsConnection? connection})
Properties
- connection → WsConnection?
-
Conexão atual
no setter
- createdAt → DateTime
-
Timestamp de criação
final
- duration → Duration
-
Duração total da sessão
no setter
- hasConnection → bool
-
Se tem conexão ativa
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isActive → bool
-
Se a sessão está ativa
no setter
- isClosed → bool
-
Se a sessão está fechada
no setter
- isSuspended → bool
-
Se a sessão está suspensa
no setter
- lastActivityAt → DateTime
-
Última atividade
no setter
-
metadata
→ Map<
String, dynamic> -
Metadados customizáveis da sessão
final
-
rooms
→ Set<
String> -
Salas que a sessão pertence
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sessionId → String
-
ID único da sessão
final
- state → WsSessionState
-
Estado atual
no setter
- suspendedAt → DateTime?
-
Quando foi suspensa
no setter
- suspendedDuration → Duration?
-
Duração desde a suspensão
no setter
- userId → String?
-
ID do usuário autenticado
no setter
Methods
-
close(
[int? closeCode, String? reason]) → Future< void> - Fecha a sessão permanentemente
-
joinRoom(
String roomId) → void - Adiciona sessão a uma sala
-
leaveRoom(
String roomId) → void - Remove sessão de uma sala
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setUserId(
String userId) → void - Define o usuário (após auth)
-
suspend(
) → void - Suspende a sessão (queda de conexão detectada)
-
toString(
) → String -
A string representation of this object.
override
-
touch(
) → void - Atualiza atividade (público para heartbeat)
-
updateConnection(
WsConnection newConnection) → void - Atualiza conexão (reconexão)
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited