Skip to content

Commit bd260ed

Browse files
committed
2025-06-05 15:45:01
1 parent fdd946b commit bd260ed

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

protocol/czar/engine.go

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -157,24 +157,27 @@ func (c *Client) Run() {
157157
for {
158158
switch sid {
159159
case 0:
160+
sid = 2
160161
srv, err = daze.Dial("tcp", c.Server)
161-
switch {
162-
case srv == nil:
163-
log.Println("czar:", err)
164-
select {
165-
case <-time.After(time.Second * time.Duration(math.Pow(2, float64(rtt)))):
166-
// A slow start reconnection algorithm.
167-
rtt = min(rtt+1, 5)
168-
case <-c.Cancel:
169-
sid = 2
170-
}
171-
case err == nil:
172-
log.Println("czar: mux init")
173-
mux = NewMuxClient(srv)
174-
rtt = 0
162+
if err != nil {
175163
sid = 1
176164
}
177165
case 1:
166+
log.Println("czar:", err)
167+
select {
168+
case <-time.After(time.Second * time.Duration(math.Pow(2, float64(rtt)))):
169+
// A slow start reconnection algorithm.
170+
rtt = min(rtt+1, 5)
171+
sid = 0
172+
case <-c.Cancel:
173+
sid = 4
174+
}
175+
case 2:
176+
log.Println("czar: mux init")
177+
mux = NewMuxClient(srv)
178+
rtt = 0
179+
sid = 3
180+
case 3:
178181
select {
179182
case c.Mux <- mux:
180183
case <-mux.rer.Sig():
@@ -184,9 +187,9 @@ func (c *Client) Run() {
184187
case <-c.Cancel:
185188
log.Println("czar: mux done")
186189
mux.Close()
187-
sid = 2
190+
sid = 4
188191
}
189-
case 2:
192+
case 4:
190193
return
191194
}
192195
}

0 commit comments

Comments
 (0)