Does not build under Go 1.1, due to lack of net.TCPConn.SetKeepAlivePeriod