commit cb1f094

Hubert Hirtz  ·  2020-08-16 14:10:01 +0000 UTC
parent 76a164c
irc: Delete ConnectionState and use a bool instead
1 files changed,  +6, -14
+6, -14
 1@@ -67,14 +67,6 @@ const (
 2 	TypingDone
 3 )
 4 
 5-type ConnectionState int
 6-
 7-const (
 8-	ConnStart ConnectionState = iota
 9-	ConnRegistered
10-	ConnQuit
11-)
12-
13 type action interface{}
14 
15 type (
16@@ -140,7 +132,7 @@ type Session struct {
17 	debug bool
18 
19 	running      atomic.Value // bool
20-	state        ConnectionState
21+	registered   bool
22 	typingStamps map[string]time.Time
23 
24 	nick   string
25@@ -357,10 +349,10 @@ func (s *Session) run() {
26 				err = s.requestHistory(act)
27 			}
28 		case msg := <-s.msgs:
29-			if s.state == ConnStart {
30-				err = s.handleStart(msg)
31-			} else if s.state == ConnRegistered {
32+			if s.registered {
33 				err = s.handle(msg)
34+			} else {
35+				err = s.handleStart(msg)
36 			}
37 		}
38 
39@@ -485,7 +477,7 @@ func (s *Session) handle(msg Message) (err error) {
40 	case rplWelcome:
41 		s.nick = msg.Params[0]
42 		s.nickCf = strings.ToLower(s.nick)
43-		s.state = ConnRegistered
44+		s.registered = true
45 		s.evts <- RegisteredEvent{}
46 
47 		if s.host == "" {
48@@ -771,7 +763,7 @@ func (s *Session) handle(msg Message) (err error) {
49 		if len(msg.Params) > 0 {
50 			err = fmt.Errorf("connection terminated: %s", msg.Params[0])
51 		}
52-		s.state = ConnQuit
53+		_ = s.conn.Close()
54 	default:
55 	}
56