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