socket-keepalive 0.1.0をリリースしました。
https://rubygems.org/gems/socket-keepalive
https://bitbucket.org/winebarrel/socket-keepalive
何これ?
setsocketopt(2)で、以下のオプションを設定するライブラリです。
- SO_KEEPALIVE
- TCP_KEEPIDLE
- TCP_KEEPINTVL
- TCP_KEEPCNT
TCP_KEEPIDLEとかを変更しようと思ったら、定数が定義されてなかったので作りました。
たぶんLinux専用です。FreeBSDとかはよくわかんないっす。
変数の意味とかはググってください。
使い方
require 'socket' require 'socket/keepalive' s = TCPSocket.open('localhost', 7) s.keepalive = true s.keepidle = 15 s.keepintvl = 5 s.keepcnt = 3
タイムアウトするとETIMEDOUTが投げられる。。。はずです。