|
@@ -30,7 +30,6 @@ type Channel struct {
|
30
|
30
|
key string
|
31
|
31
|
members MemberSet
|
32
|
32
|
membersCache []*Client // allow iteration over channel members without holding the lock
|
33
|
|
- memberJoinTimes map[*Client]time.Time
|
34
|
33
|
name string
|
35
|
34
|
nameCasefolded string
|
36
|
35
|
server *Server
|
|
@@ -58,12 +57,11 @@ func NewChannel(s *Server, name, casefoldedName string, registered bool) *Channe
|
58
|
57
|
config := s.Config()
|
59
|
58
|
|
60
|
59
|
channel := &Channel{
|
61
|
|
- createdTime: time.Now().UTC(), // may be overwritten by applyRegInfo
|
62
|
|
- members: make(MemberSet),
|
63
|
|
- memberJoinTimes: make(map[*Client]time.Time),
|
64
|
|
- name: name,
|
65
|
|
- nameCasefolded: casefoldedName,
|
66
|
|
- server: s,
|
|
60
|
+ createdTime: time.Now().UTC(), // may be overwritten by applyRegInfo
|
|
61
|
+ members: make(MemberSet),
|
|
62
|
+ name: name,
|
|
63
|
+ nameCasefolded: casefoldedName,
|
|
64
|
+ server: s,
|
67
|
65
|
}
|
68
|
66
|
|
69
|
67
|
channel.initializeLists()
|
|
@@ -553,13 +551,6 @@ func (channel *Channel) ClientModeStrings(client *Client) (result []string) {
|
553
|
551
|
return
|
554
|
552
|
}
|
555
|
553
|
|
556
|
|
-func (channel *Channel) ClientJoinTime(client *Client) time.Time {
|
557
|
|
- channel.stateMutex.RLock()
|
558
|
|
- defer channel.stateMutex.RUnlock()
|
559
|
|
- time := channel.memberJoinTimes[client]
|
560
|
|
- return time
|
561
|
|
-}
|
562
|
|
-
|
563
|
554
|
func (channel *Channel) ClientHasPrivsOver(client *Client, target *Client) bool {
|
564
|
555
|
channel.stateMutex.RLock()
|
565
|
556
|
founder := channel.registeredFounder
|
|
@@ -736,7 +727,6 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
|
736
|
727
|
defer channel.stateMutex.Unlock()
|
737
|
728
|
|
738
|
729
|
channel.members.Add(client)
|
739
|
|
- channel.memberJoinTimes[client] = time.Now().UTC()
|
740
|
730
|
firstJoin := len(channel.members) == 1
|
741
|
731
|
newChannel := firstJoin && channel.registeredFounder == ""
|
742
|
732
|
if newChannel {
|
|
@@ -1375,7 +1365,6 @@ func (channel *Channel) Quit(client *Client) {
|
1375
|
1365
|
|
1376
|
1366
|
channel.stateMutex.Lock()
|
1377
|
1367
|
channel.members.Remove(client)
|
1378
|
|
- delete(channel.memberJoinTimes, client)
|
1379
|
1368
|
channelEmpty := len(channel.members) == 0
|
1380
|
1369
|
channel.stateMutex.Unlock()
|
1381
|
1370
|
channel.regenerateMembersCache()
|