Browse Source

Use same variable name roomID everywhere.

pull/168/head
Simon Eisenmann 11 years ago
parent
commit
f60cd1fab3
  1. 24
      src/app/spreed-webrtc-server/room_manager.go

24
src/app/spreed-webrtc-server/room_manager.go

@ -71,12 +71,12 @@ func (rooms *roomManager) RoomUsers(session *Session) []*DataSession {
return []*DataSession{} return []*DataSession{}
} }
func (rooms *roomManager) JoinRoom(id string, credentials *DataRoomCredentials, session *Session, sender Sender) (*DataRoom, error) { func (rooms *roomManager) JoinRoom(roomID string, credentials *DataRoomCredentials, session *Session, sender Sender) (*DataRoom, error) {
if id == "" && !rooms.DefaultRoomEnabled { if roomID == "" && !rooms.DefaultRoomEnabled {
return nil, NewDataError("default_room_disabled", "The default room is not enabled") return nil, NewDataError("default_room_disabled", "The default room is not enabled")
} }
roomWorker, err := rooms.GetOrCreate(id, credentials, session) roomWorker, err := rooms.GetOrCreate(roomID, credentials, session)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -138,22 +138,22 @@ func (rooms *roomManager) RoomInfo(includeSessions bool) (count int, sessionInfo
return return
} }
func (rooms *roomManager) Get(id string) (room RoomWorker, ok bool) { func (rooms *roomManager) Get(roomID string) (room RoomWorker, ok bool) {
rooms.RLock() rooms.RLock()
room, ok = rooms.roomTable[id] room, ok = rooms.roomTable[roomID]
rooms.RUnlock() rooms.RUnlock()
return return
} }
func (rooms *roomManager) GetOrCreate(id string, credentials *DataRoomCredentials, session *Session) (RoomWorker, error) { func (rooms *roomManager) GetOrCreate(roomID string, credentials *DataRoomCredentials, session *Session) (RoomWorker, error) {
if room, ok := rooms.Get(id); ok { if room, ok := rooms.Get(roomID); ok {
return room, nil return room, nil
} }
rooms.Lock() rooms.Lock()
// Need to re-check, another thread might have created the room // Need to re-check, another thread might have created the room
// while we waited for the lock. // while we waited for the lock.
if room, ok := rooms.roomTable[id]; ok { if room, ok := rooms.roomTable[roomID]; ok {
rooms.Unlock() rooms.Unlock()
return room, nil return room, nil
} }
@ -163,8 +163,8 @@ func (rooms *roomManager) GetOrCreate(id string, credentials *DataRoomCredential
return nil, NewDataError("room_join_requires_account", "Room creation requires a user account") return nil, NewDataError("room_join_requires_account", "Room creation requires a user account")
} }
room := NewRoomWorker(rooms, id, credentials) room := NewRoomWorker(rooms, roomID, credentials)
rooms.roomTable[id] = room rooms.roomTable[roomID] = room
rooms.Unlock() rooms.Unlock()
go func() { go func() {
// Start room, this blocks until room expired. // Start room, this blocks until room expired.
@ -172,8 +172,8 @@ func (rooms *roomManager) GetOrCreate(id string, credentials *DataRoomCredential
// Cleanup room when we are done. // Cleanup room when we are done.
rooms.Lock() rooms.Lock()
defer rooms.Unlock() defer rooms.Unlock()
delete(rooms.roomTable, id) delete(rooms.roomTable, roomID)
log.Printf("Cleaned up room '%s'\n", id) log.Printf("Cleaned up room '%s'\n", roomID)
}() }()
return room, nil return room, nil

Loading…
Cancel
Save