session state decoupled.

This commit is contained in:
Miroslav Šedivý
2021-03-14 00:50:08 +01:00
parent 4a28307c1e
commit ecad2124fd
4 changed files with 8 additions and 19 deletions

View File

@ -103,7 +103,7 @@ func (manager *SessionManagerCtx) Delete(id string) error {
manager.sessionsMu.Unlock()
var err error
if session.IsConnected() {
if session.State().IsConnected {
err = session.Disconnect("session deleted")
}
@ -175,7 +175,7 @@ func (manager *SessionManagerCtx) Broadcast(v interface{}, exclude interface{})
defer manager.sessionsMu.Unlock()
for id, session := range manager.sessions {
if !session.IsConnected() {
if !session.State().IsConnected {
continue
}
@ -196,7 +196,7 @@ func (manager *SessionManagerCtx) AdminBroadcast(v interface{}, exclude interfac
defer manager.sessionsMu.Unlock()
for id, session := range manager.sessions {
if !session.IsConnected() || !session.Profile().IsAdmin {
if !session.State().IsConnected || !session.Profile().IsAdmin {
continue
}

View File

@ -45,22 +45,14 @@ func (session *SessionCtx) profileChanged() {
}
}
// ---
// state
// ---
func (session *SessionCtx) State() types.SessionState {
return session.state
}
func (session *SessionCtx) IsHost() bool {
return session.manager.host != nil && session.manager.host == session
}
func (session *SessionCtx) IsConnected() bool {
return session.state.IsConnected
}
func (session *SessionCtx) State() types.SessionState {
return session.state
}
// ---
// webscoket
// ---