- Remove exported interfaces unused locally - Define interfaces to accept arguments - Return concrete types, not interfaces
22 lines
374 B
Go
22 lines
374 B
Go
package wireguard
|
|
|
|
type Wireguard struct {
|
|
logger Logger
|
|
settings Settings
|
|
netlink NetLinker
|
|
}
|
|
|
|
func New(settings Settings, netlink NetLinker,
|
|
logger Logger) (w *Wireguard, err error) {
|
|
settings.SetDefaults()
|
|
if err := settings.Check(); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &Wireguard{
|
|
logger: logger,
|
|
settings: settings,
|
|
netlink: netlink,
|
|
}, nil
|
|
}
|