mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
686be57d0a
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
29 lines
586 B
Go
29 lines
586 B
Go
//go:build linux
|
|
// +build linux
|
|
|
|
package bridge
|
|
|
|
type setupStep func(*networkConfiguration, *bridgeInterface) error
|
|
|
|
type bridgeSetup struct {
|
|
config *networkConfiguration
|
|
bridge *bridgeInterface
|
|
steps []setupStep
|
|
}
|
|
|
|
func newBridgeSetup(c *networkConfiguration, i *bridgeInterface) *bridgeSetup {
|
|
return &bridgeSetup{config: c, bridge: i}
|
|
}
|
|
|
|
func (b *bridgeSetup) apply() error {
|
|
for _, fn := range b.steps {
|
|
if err := fn(b.config, b.bridge); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (b *bridgeSetup) queueStep(step setupStep) {
|
|
b.steps = append(b.steps, step)
|
|
}
|