Please review the below code.
BugId : https://bugs.openjdk.java.net/browse/JDK-8194298
webrev : http://cr.openjdk.java.net/~vtewari/8194298/webrev0.0/index.html
Currently Java supports SO_KEEPALIVE, whose default value is 7200
seconds which is too long for most of the applications. This code change
will allow us to set the keepalive
parameters(TCP_KEEPIDLE,TCP_KEEPCNT,TCP_KEEPINTVL) which will configure
the idle time on per socket basis.
I did code changes for Linux & Mac only, support for other platforms can
be added in future if needed.