summaryrefslogtreecommitdiff
path: root/irc/states.go
diff options
context:
space:
mode:
authorHubert Hirtz <hubert@hirtzfr.eu>2020-08-16 16:10:01 +0200
committerHubert Hirtz <hubert@hirtzfr.eu>2020-08-16 16:10:01 +0200
commitcb1f094bbfdcebf12b57c416266b76058dc2b7a5 (patch)
treeed7a55f882b60414aed61c2742d372387cf66243 /irc/states.go
parentirc: go syntax i guess (diff)
irc: Delete ConnectionState and use a bool instead
Diffstat (limited to 'irc/states.go')
-rw-r--r--irc/states.go20
1 files changed, 6 insertions, 14 deletions
diff --git a/irc/states.go b/irc/states.go
index 68c18bd..1405c48 100644
--- a/irc/states.go
+++ b/irc/states.go
@@ -67,14 +67,6 @@ const (
TypingDone
)
-type ConnectionState int
-
-const (
- ConnStart ConnectionState = iota
- ConnRegistered
- ConnQuit
-)
-
type action interface{}
type (
@@ -140,7 +132,7 @@ type Session struct {
debug bool
running atomic.Value // bool
- state ConnectionState
+ registered bool
typingStamps map[string]time.Time
nick string
@@ -357,10 +349,10 @@ func (s *Session) run() {
err = s.requestHistory(act)
}
case msg := <-s.msgs:
- if s.state == ConnStart {
- err = s.handleStart(msg)
- } else if s.state == ConnRegistered {
+ if s.registered {
err = s.handle(msg)
+ } else {
+ err = s.handleStart(msg)
}
}
@@ -485,7 +477,7 @@ func (s *Session) handle(msg Message) (err error) {
case rplWelcome:
s.nick = msg.Params[0]
s.nickCf = strings.ToLower(s.nick)
- s.state = ConnRegistered
+ s.registered = true
s.evts <- RegisteredEvent{}
if s.host == "" {
@@ -771,7 +763,7 @@ func (s *Session) handle(msg Message) (err error) {
if len(msg.Params) > 0 {
err = fmt.Errorf("connection terminated: %s", msg.Params[0])
}
- s.state = ConnQuit
+ _ = s.conn.Close()
default:
}