tunnel: added TCP keepalive to connections for client and server

This commit is contained in:
Michał Matczuk 2017-11-21 22:32:35 +01:00
parent 888123406a
commit 84d8d0b589
4 changed files with 62 additions and 13 deletions

24
tunnel.go Normal file
View file

@ -0,0 +1,24 @@
// Copyright (C) 2017 Michał Matczuk
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package tunnel
import "time"
var (
// DefaultTimeout specifies a general purpose timeout.
DefaultTimeout = 10 * time.Second
// DefaultPingTimeout specifies a ping timeout.
DefaultPingTimeout = 500 * time.Millisecond
// DefaultKeepAliveIdleTime specifies how long connection can be idle
// before sending keepalive message.
DefaultKeepAliveIdleTime = 15 * time.Minute
// DefaultKeepAliveCount specifies maximal number of keepalive messages
// sent before marking connection as dead.
DefaultKeepAliveCount = 8
// DefaultKeepAliveInterval specifies how often retry sending keepalive
// messages when no response is received.
DefaultKeepAliveInterval = 5 * time.Second
)