NewController creates a new Controller without running it
(logger slog.Logger, dialer ControlProtocolDialer, opts ...ControllerOpt)
| 1486 | |
| 1487 | // NewController creates a new Controller without running it |
| 1488 | func NewController(logger slog.Logger, dialer ControlProtocolDialer, opts ...ControllerOpt) *Controller { |
| 1489 | c := &Controller{ |
| 1490 | logger: logger, |
| 1491 | clock: quartz.NewReal(), |
| 1492 | gracefulTimeout: time.Second, |
| 1493 | Dialer: dialer, |
| 1494 | closedCh: make(chan struct{}), |
| 1495 | } |
| 1496 | for _, opt := range opts { |
| 1497 | opt(c) |
| 1498 | } |
| 1499 | return c |
| 1500 | } |
| 1501 | |
| 1502 | type ControllerOpt func(*Controller) |
| 1503 |
no outgoing calls