Files
gluetun/internal/server/interfaces.go
2022-06-12 01:11:22 +00:00

31 lines
705 B
Go

package server
import (
"context"
"github.com/qdm12/gluetun/internal/configuration/settings"
"github.com/qdm12/gluetun/internal/models"
"github.com/qdm12/gluetun/internal/publicip/ipinfo"
)
type VPNLooper interface {
GetStatus() (status models.LoopStatus)
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetSettings() (settings settings.VPN)
}
type DNSLoop interface {
ApplyStatus(ctx context.Context, status models.LoopStatus) (
outcome string, err error)
GetStatus() (status models.LoopStatus)
}
type PortForwardedGetter interface {
GetPortForwarded() (portForwarded uint16)
}
type PublicIPLoop interface {
GetData() (data ipinfo.Response)
}