2021-08-22 14:58:39 -07:00
|
|
|
package wireguard
|
|
|
|
|
|
|
|
|
|
type Wireguard struct {
|
|
|
|
|
logger Logger
|
|
|
|
|
settings Settings
|
2021-08-23 20:56:10 +00:00
|
|
|
netlink NetLinker
|
2021-08-22 14:58:39 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func New(settings Settings, netlink NetLinker,
|
2024-10-11 19:20:48 +00:00
|
|
|
logger Logger,
|
|
|
|
|
) (w *Wireguard, err error) {
|
2021-08-22 14:58:39 -07:00
|
|
|
settings.SetDefaults()
|
|
|
|
|
if err := settings.Check(); err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return &Wireguard{
|
|
|
|
|
logger: logger,
|
|
|
|
|
settings: settings,
|
|
|
|
|
netlink: netlink,
|
|
|
|
|
}, nil
|
|
|
|
|
}
|