Add IRC connection status indicator

This commit is contained in:
Ken-Håvard Lieng 2016-01-13 18:53:54 +01:00
parent 83aef5df7b
commit f429a528ba
11 changed files with 124 additions and 38 deletions

View file

@ -31,13 +31,21 @@ func newIRCHandler(client *irc.Client, session *Session) *ircHandler {
func (i *ircHandler) run() {
for {
msg, ok := <-i.client.Messages
if !ok {
i.session.deleteIRC(i.client.Host)
return
}
select {
case msg, ok := <-i.client.Messages:
if !ok {
i.session.deleteIRC(i.client.Host)
return
}
i.dispatchMessage(msg)
i.dispatchMessage(msg)
case connected := <-i.client.ConnectionChanged:
i.session.sendJSON("connection_update", map[string]bool{
i.client.Host: connected,
})
i.session.setConnectionState(i.client.Host, connected)
}
}
}