blob: bbd19787d2538f60243cb9bd6153e0377de9f1bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// Package failover implements the failover procedure
// by sending pings and checking if the VPN is up
package failover
import (
"time"
)
const (
// Send a ping every 2 seconds to the gateway
pInterval time.Duration = 2 * time.Second
// pDropped is how many pings we need to have sent to check if the connection is dropped
pDropped int = 5
)
// New creates a failover monitor for the gateway and the rx bytes function reader
// This is a simple wrapper over `NewDroppedMonitor` to create one with the default settings
// If this function returns True, the connection is dropped. False means it has exited and we don't know for sure if it's dropped or not
func New(readRxBytes func() (int64, error)) *DroppedConMon {
return NewDroppedMonitor(pInterval, pDropped, readRxBytes)
}
|