Merge pull request #16 from presbrey/master
Loop: catch reconnection errors; writeLoop: only log.Print if Debug
This commit is contained in:
commit
5d143c7b85
11
irc.go
11
irc.go
@ -74,7 +74,9 @@ func (irc *Connection) writeLoop() {
|
||||
break
|
||||
}
|
||||
|
||||
if irc.Debug {
|
||||
irc.log.Printf("--> %s\n", b)
|
||||
}
|
||||
_, err := irc.socket.Write([]byte(b))
|
||||
if err != nil {
|
||||
irc.Error <- err
|
||||
@ -120,7 +122,14 @@ func (irc *Connection) Loop() {
|
||||
}
|
||||
irc.log.Printf("Error: %s\n", err)
|
||||
irc.Disconnect()
|
||||
irc.Connect(irc.server)
|
||||
for !irc.stopped {
|
||||
if err = irc.Connect(irc.server); err != nil {
|
||||
irc.log.Printf("Error: %s\n", err)
|
||||
time.Sleep(1 * time.Second)
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -115,7 +115,9 @@ func (irc *Connection) setupCallbacks() {
|
||||
irc.AddCallback("PONG", func(e *Event) {
|
||||
ns, _ := strconv.ParseInt(e.Message, 10, 64)
|
||||
delta := time.Duration(time.Now().UnixNano() - ns)
|
||||
if irc.Debug {
|
||||
irc.log.Printf("Lag: %vs\n", delta)
|
||||
}
|
||||
})
|
||||
|
||||
irc.AddCallback("NICK", func(e *Event) {
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
)
|
||||
|
||||
type Connection struct {
|
||||
Debug bool
|
||||
Error chan error
|
||||
Password string
|
||||
UseTLS bool
|
||||
|
Loading…
Reference in New Issue
Block a user