mirror of
https://github.com/ergochat/ergo.git
synced 2025-01-03 08:32:43 +01:00
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:
parent
ba2aacaf5b
commit
a4b3fb0e83
@ -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)
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user