Convenience function for ensuring a connection is established
(ctx context.Context, connName string)
| 755 | |
| 756 | // Convenience function for ensuring a connection is established |
| 757 | func 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 | |
| 780 | func DisconnectClient(connName string) error { |
| 781 | conn := getConnInternal(connName) |
no test coverage detected