Skip to content

Commit 6565cbc

Browse files
committed
chore: remove pingWebSocket since yamux runs keepalives
1 parent 0aa3ee3 commit 6565cbc

File tree

1 file changed

+0
-44
lines changed

1 file changed

+0
-44
lines changed

codersdk/agentsdk/agentsdk.go

-44
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,12 @@ func (c *Client) Listen(ctx context.Context) (drpc.Conn, error) {
207207

208208
ctx, cancelFunc := context.WithCancel(ctx)
209209
ctx, wsNetConn := websocketNetConn(ctx, conn, websocket.MessageBinary)
210-
pingClosed := pingWebSocket(ctx, c.SDK.Logger(), conn, "coordinate")
211210

212211
netConn := &closeNetConn{
213212
Conn: wsNetConn,
214213
closeFunc: func() {
215214
cancelFunc()
216215
_ = conn.Close(websocket.StatusGoingAway, "Listen closed")
217-
<-pingClosed
218216
},
219217
}
220218
config := yamux.DefaultConfig()
@@ -719,45 +717,3 @@ func (c *closeNetConn) Close() error {
719717
c.closeFunc()
720718
return c.Conn.Close()
721719
}
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

Comments
 (0)