+ roomsM.Lock()
+ rooms = make(map[string]*Room)
+ roomSinks = make(map[*Room]chan ClientEvent)
+ roomsM.Unlock()
+ clients = make(map[*Client]struct{})
+ finished := make(chan struct{})
+ go Processor(events, finished)
+ defer func() {
+ events <- ClientEvent{eventType: EventTerm}
+ <-finished
+ }()