(ctx context.Context)
| 464 | } |
| 465 | |
| 466 | func (conn *WslConn) WaitForConnect(ctx context.Context) error { |
| 467 | for { |
| 468 | status := conn.DeriveConnStatus() |
| 469 | if status.Status == Status_Connected { |
| 470 | return nil |
| 471 | } |
| 472 | if status.Status == Status_Connecting { |
| 473 | select { |
| 474 | case <-ctx.Done(): |
| 475 | return fmt.Errorf("context timeout") |
| 476 | case <-time.After(100 * time.Millisecond): |
| 477 | continue |
| 478 | } |
| 479 | } |
| 480 | if status.Status == Status_Init || status.Status == Status_Disconnected { |
| 481 | return fmt.Errorf("disconnected") |
| 482 | } |
| 483 | if status.Status == Status_Error { |
| 484 | return fmt.Errorf("error: %v", status.Error) |
| 485 | } |
| 486 | return fmt.Errorf("unknown status: %q", status.Status) |
| 487 | } |
| 488 | } |
| 489 | |
| 490 | // does not return an error since that error is stored inside of WslConn |
| 491 | func (conn *WslConn) Connect(ctx context.Context) error { |
no test coverage detected