converted the sessions map to a pointer map, removed un-needed updates and locks
This commit is contained in:
@@ -15,5 +15,5 @@ type Session struct {
|
|||||||
lastInteractedPartyIsA bool
|
lastInteractedPartyIsA bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var openSessions = make(map[string]Session)
|
var openSessions = make(map[string]*Session)
|
||||||
var sessionsMu sync.RWMutex
|
var sessionsMu sync.RWMutex
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ func createSession(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sessionsMu.Lock()
|
sessionsMu.Lock()
|
||||||
openSessions[session.id] = session
|
openSessions[session.id] = &session
|
||||||
sessionsMu.Unlock()
|
sessionsMu.Unlock()
|
||||||
|
|
||||||
fmt.Fprintf(w,
|
fmt.Fprintf(w,
|
||||||
|
|||||||
@@ -43,18 +43,11 @@ func websocketSignaler(conn *websocket.Conn, partyIsA bool, sessionId string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sessionsMu.Lock()
|
|
||||||
openSessions[openSession.id] = openSession
|
|
||||||
sessionsMu.Unlock()
|
|
||||||
|
|
||||||
for {
|
for {
|
||||||
msgType, msg, err := conn.ReadMessage()
|
msgType, msg, err := conn.ReadMessage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
sessionsMu.RLock()
|
|
||||||
openSession, ok := openSessions[sessionId]
|
|
||||||
sessionsMu.RUnlock()
|
|
||||||
|
|
||||||
if !ok {
|
if !ok {
|
||||||
// conn.WriteMessage(1, "{Session not found or something}")
|
// conn.WriteMessage(1, "{Session not found or something}")
|
||||||
|
|||||||
Reference in New Issue
Block a user