(group *run.Group)
| 79 | func (m out) Module() interface{} { return m } |
| 80 | |
| 81 | func (m out) ProvideRunGroup(group *run.Group) { |
| 82 | ctx, cancel := context.WithCancel(context.Background()) |
| 83 | group.Add(func() error { |
| 84 | err := m.Election.Campaign(ctx) |
| 85 | if err != nil { |
| 86 | return err |
| 87 | } |
| 88 | <-ctx.Done() |
| 89 | return nil |
| 90 | }, func(err error) { |
| 91 | _ = m.Election.Resign(ctx) |
| 92 | cancel() |
| 93 | }) |
| 94 | } |
| 95 | |
| 96 | // DriverArgs is the argument for constructing new drivers. |
| 97 | type DriverArgs struct { |