MCPcopy
hub / github.com/wavetermdev/waveterm / EnsureConnection

Function EnsureConnection

pkg/wslconn/wslconn.go:757–778  ·  view source on GitHub ↗

Convenience function for ensuring a connection is established

(ctx context.Context, connName string)

Source from the content-addressed store, hash-verified

755
756// Convenience function for ensuring a connection is established
757func EnsureConnection(ctx context.Context, connName string) error {
758 if connName == "" {
759 return nil
760 }
761 conn := GetWslConn(connName)
762 if conn == nil {
763 return fmt.Errorf("connection not found: %s", connName)
764 }
765 connStatus := conn.DeriveConnStatus()
766 switch connStatus.Status {
767 case Status_Connected:
768 return nil
769 case Status_Connecting:
770 return conn.WaitForConnect(ctx)
771 case Status_Init, Status_Disconnected:
772 return conn.Connect(ctx)
773 case Status_Error:
774 return fmt.Errorf("connection error: %s", connStatus.Error)
775 default:
776 return fmt.Errorf("unknown connection status %q", connStatus.Status)
777 }
778}
779
780func DisconnectClient(connName string) error {
781 conn := getConnInternal(connName)

Callers 1

ConnEnsureCommandMethod · 0.92

Calls 4

GetWslConnFunction · 0.85
DeriveConnStatusMethod · 0.45
WaitForConnectMethod · 0.45
ConnectMethod · 0.45

Tested by

no test coverage detected