@@ -207,14 +207,12 @@ func (c *Client) Listen(ctx context.Context) (drpc.Conn, error) {
207
207
208
208
ctx , cancelFunc := context .WithCancel (ctx )
209
209
ctx , wsNetConn := websocketNetConn (ctx , conn , websocket .MessageBinary )
210
- pingClosed := pingWebSocket (ctx , c .SDK .Logger (), conn , "coordinate" )
211
210
212
211
netConn := & closeNetConn {
213
212
Conn : wsNetConn ,
214
213
closeFunc : func () {
215
214
cancelFunc ()
216
215
_ = conn .Close (websocket .StatusGoingAway , "Listen closed" )
217
- <- pingClosed
218
216
},
219
217
}
220
218
config := yamux .DefaultConfig ()
@@ -719,45 +717,3 @@ func (c *closeNetConn) Close() error {
719
717
c .closeFunc ()
720
718
return c .Conn .Close ()
721
719
}
722
-
723
- func pingWebSocket (ctx context.Context , logger slog.Logger , conn * websocket.Conn , name string ) <- chan struct {} {
724
- // Ping once every 30 seconds to ensure that the websocket is alive. If we
725
- // don't get a response within 30s we kill the websocket and reconnect.
726
- // See: https://github.com/coder/coder/pull/5824
727
- closed := make (chan struct {})
728
- go func () {
729
- defer close (closed )
730
- tick := 30 * time .Second
731
- ticker := time .NewTicker (tick )
732
- defer ticker .Stop ()
733
- defer func () {
734
- logger .Debug (ctx , fmt .Sprintf ("%s pinger exited" , name ))
735
- }()
736
- for {
737
- select {
738
- case <- ctx .Done ():
739
- return
740
- case start := <- ticker .C :
741
- ctx , cancel := context .WithTimeout (ctx , tick )
742
-
743
- err := conn .Ping (ctx )
744
- if err != nil {
745
- logger .Error (ctx , fmt .Sprintf ("workspace agent %s ping" , name ), slog .Error (err ))
746
-
747
- err := conn .Close (websocket .StatusGoingAway , "Ping failed" )
748
- if err != nil {
749
- logger .Error (ctx , fmt .Sprintf ("close workspace agent %s websocket" , name ), slog .Error (err ))
750
- }
751
-
752
- cancel ()
753
- return
754
- }
755
-
756
- logger .Debug (ctx , fmt .Sprintf ("got %s ping" , name ), slog .F ("took" , time .Since (start )))
757
- cancel ()
758
- }
759
- }
760
- }()
761
-
762
- return closed
763
- }
0 commit comments