changes to client idle time counting

1. Remove leaveClientIdle (unused)
2. s/leaveClientActive/leaveClientIdle/
3. make ISON a leaveClientIdle command (some clients send it periodically
   if a /msg window is left open)
This commit is contained in:
Shivaram Lingamneni 2018-12-30 18:05:27 -05:00
parent ba2aacaf5b
commit a4b3fb0e83
2 changed files with 20 additions and 27 deletions

View File

@ -332,12 +332,6 @@ func (client *Client) Active() {
client.atime = time.Now()
}
// Touch marks the client as alive (as it it has a connection to us and we
// can receive messages from it).
func (client *Client) Touch() {
client.idletimer.Touch()
}
// Ping sends the client a PING message.
func (client *Client) Ping() {
client.Send(nil, "", "PING", client.nick)

View File

@ -15,8 +15,7 @@ type Command struct {
handler func(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) bool
oper bool
usablePreReg bool
leaveClientActive bool // if true, leaves the client active time alone. reversed because we can't default a struct element to True
leaveClientIdle bool
leaveClientIdle bool // if true, leaves the client active time alone
minParams int
capabs []string
}
@ -54,11 +53,10 @@ func (cmd *Command) Run(server *Server, client *Client, msg ircmsg.IrcMessage) b
server.tryRegister(client)
}
if !cmd.leaveClientIdle {
client.Touch()
}
// most servers do this only for PING/PONG, but we'll do it for any command:
client.idletimer.Touch()
if !cmd.leaveClientActive {
if !cmd.leaveClientIdle {
client.Active()
}
@ -120,6 +118,7 @@ func init() {
"ISON": {
handler: isonHandler,
minParams: 1,
leaveClientIdle: true,
},
"JOIN": {
handler: joinHandler,
@ -203,13 +202,13 @@ func init() {
handler: pingHandler,
usablePreReg: true,
minParams: 1,
leaveClientActive: true,
leaveClientIdle: true,
},
"PONG": {
handler: pongHandler,
usablePreReg: true,
minParams: 1,
leaveClientActive: true,
leaveClientIdle: true,
},
"PRIVMSG": {
handler: privmsgHandler,