summaryrefslogtreecommitdiff
path: root/internal/failover/failover.go
blob: 97b1da183b360475cf0dadd26107c81b79e12866 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)
}