syncthing/cmd/strelaysrv/utils.go

29 lines
533 B
Go
Raw Permalink Normal View History

2016-06-02 14:16:02 +02:00
// Copyright (C) 2015 Audrius Butkevicius and Contributors.
2015-06-24 13:39:46 +02:00
package main
import (
"errors"
"net"
)
func setTCPOptions(conn net.Conn) error {
tcpConn, ok := conn.(*net.TCPConn)
if !ok {
return errors.New("Not a TCP connection")
}
if err := tcpConn.SetLinger(0); err != nil {
return err
}
if err := tcpConn.SetNoDelay(true); err != nil {
return err
}
2015-06-28 02:52:01 +02:00
if err := tcpConn.SetKeepAlivePeriod(networkTimeout); err != nil {
2015-06-24 13:39:46 +02:00
return err
}
if err := tcpConn.SetKeepAlive(true); err != nil {
return err
}
return nil
}