Browse Source

review fixes: rename MonitorManager methods

tags/v0.9.2-beta
Shivaram Lingamneni 6 years ago
parent
commit
3877db2391
3 changed files with 28 additions and 25 deletions
  1. 3
    3
      irc/client.go
  2. 24
    21
      irc/monitor.go
  3. 1
    1
      irc/nickname.go

+ 3
- 3
irc/client.go View File

@@ -301,7 +301,7 @@ func (client *Client) Register() {
301 301
 	client.Touch()
302 302
 
303 303
 	client.updateNickMask("")
304
-	client.server.monitorManager.alertMonitors(client, true)
304
+	client.server.monitorManager.AlertAbout(client, true)
305 305
 }
306 306
 
307 307
 // IdleTime returns how long this client's been idle.
@@ -539,9 +539,9 @@ func (client *Client) destroy() {
539 539
 	}
540 540
 
541 541
 	// alert monitors
542
-	client.server.monitorManager.alertMonitors(client, false)
542
+	client.server.monitorManager.AlertAbout(client, false)
543 543
 	// clean up monitor state
544
-	client.server.monitorManager.clearMonitorList(client)
544
+	client.server.monitorManager.RemoveAll(client)
545 545
 
546 546
 	// clean up channels
547 547
 	client.server.channelJoinPartMutex.Lock()

+ 24
- 21
irc/monitor.go View File

@@ -31,8 +31,8 @@ func NewMonitorManager() *MonitorManager {
31 31
 
32 32
 var MonitorLimitExceeded = errors.New("Monitor limit exceeded")
33 33
 
34
-// alertMonitors alerts everyone monitoring us that we're online.
35
-func (manager *MonitorManager) alertMonitors(client *Client, online bool) {
34
+// AlertAbout alerts everyone monitoring `client`'s nick that `client` is now {on,off}line.
35
+func (manager *MonitorManager) AlertAbout(client *Client, online bool) {
36 36
 	cfnick := client.getNickCasefolded()
37 37
 	nick := client.getNick()
38 38
 	var watchers []*Client
@@ -59,18 +59,8 @@ func (manager *MonitorManager) alertMonitors(client *Client, online bool) {
59 59
 	}()
60 60
 }
61 61
 
62
-// clearMonitorList clears our MONITOR list.
63
-func (manager *MonitorManager) clearMonitorList(client *Client) {
64
-	manager.Lock()
65
-	defer manager.Unlock()
66
-
67
-	for nick, _ := range manager.watching[client] {
68
-		delete(manager.watchedby[nick], client)
69
-	}
70
-	delete(manager.watching, client)
71
-}
72
-
73
-func (manager *MonitorManager) addMonitor(client *Client, nick string, limit int) error {
62
+// Add registers `client` to receive notifications about `nick`.
63
+func (manager *MonitorManager) Add(client *Client, nick string, limit int) error {
74 64
 	manager.Lock()
75 65
 	defer manager.Unlock()
76 66
 
@@ -90,7 +80,8 @@ func (manager *MonitorManager) addMonitor(client *Client, nick string, limit int
90 80
 	return nil
91 81
 }
92 82
 
93
-func (manager *MonitorManager) removeMonitor(client *Client, nick string) error {
83
+// Remove unregisters `client` from receiving notifications about `nick`.
84
+func (manager *MonitorManager) Remove(client *Client, nick string) error {
94 85
 	manager.Lock()
95 86
 	defer manager.Unlock()
96 87
 	// deleting from nil maps is fine
@@ -99,7 +90,19 @@ func (manager *MonitorManager) removeMonitor(client *Client, nick string) error
99 90
 	return nil
100 91
 }
101 92
 
102
-func (manager *MonitorManager) listMonitors(client *Client) (nicks []string) {
93
+// RemoveAll unregisters `client` from receiving notifications about *all* nicks.
94
+func (manager *MonitorManager) RemoveAll(client *Client) {
95
+	manager.Lock()
96
+	defer manager.Unlock()
97
+
98
+	for nick, _ := range manager.watching[client] {
99
+		delete(manager.watchedby[nick], client)
100
+	}
101
+	delete(manager.watching, client)
102
+}
103
+
104
+// List lists all nicks that `client` is registered to receive notifications about.
105
+func (manager *MonitorManager) List(client *Client) (nicks []string) {
103 106
 	manager.RLock()
104 107
 	defer manager.RUnlock()
105 108
 	for nick := range manager.watching[client] {
@@ -141,7 +144,7 @@ func monitorRemoveHandler(server *Server, client *Client, msg ircmsg.IrcMessage)
141 144
 		if err != nil {
142 145
 			continue
143 146
 		}
144
-		server.monitorManager.removeMonitor(client, cfnick)
147
+		server.monitorManager.Remove(client, cfnick)
145 148
 	}
146 149
 
147 150
 	return false
@@ -171,7 +174,7 @@ func monitorAddHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bo
171 174
 			continue
172 175
 		}
173 176
 
174
-		err = server.monitorManager.addMonitor(client, casefoldedTarget, limit)
177
+		err = server.monitorManager.Add(client, casefoldedTarget, limit)
175 178
 		if err == MonitorLimitExceeded {
176 179
 			client.Send(nil, server.name, ERR_MONLISTFULL, client.getNick(), strconv.Itoa(server.limits.MonitorEntries), strings.Join(targets, ","))
177 180
 			break
@@ -198,12 +201,12 @@ func monitorAddHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bo
198 201
 }
199 202
 
200 203
 func monitorClearHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
201
-	server.monitorManager.clearMonitorList(client)
204
+	server.monitorManager.RemoveAll(client)
202 205
 	return false
203 206
 }
204 207
 
205 208
 func monitorListHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
206
-	monitorList := server.monitorManager.listMonitors(client)
209
+	monitorList := server.monitorManager.List(client)
207 210
 
208 211
 	for _, line := range argsToStrings(maxLastArgLength, monitorList, ",") {
209 212
 		client.Send(nil, server.name, RPL_MONLIST, client.getNick(), line)
@@ -218,7 +221,7 @@ func monitorStatusHandler(server *Server, client *Client, msg ircmsg.IrcMessage)
218 221
 	var online []string
219 222
 	var offline []string
220 223
 
221
-	monitorList := server.monitorManager.listMonitors(client)
224
+	monitorList := server.monitorManager.List(client)
222 225
 
223 226
 	for _, name := range monitorList {
224 227
 		target := server.clients.Get(name)

+ 1
- 1
irc/nickname.go View File

@@ -57,7 +57,7 @@ func nickHandler(server *Server, client *Client, msg ircmsg.IrcMessage) bool {
57 57
 		return false
58 58
 	}
59 59
 	if client.registered {
60
-		client.server.monitorManager.alertMonitors(client, true)
60
+		client.server.monitorManager.AlertAbout(client, true)
61 61
 	}
62 62
 	server.tryRegister(client)
63 63
 	return false

Loading…
Cancel
Save