BasicSocket#getsockopt、BasicSocket#setsockopt で使うソケットオプションの値を表すクラス。
ソケットオプションの具体的な意味は自身の使っているシステムのドキュメントを見てください。
bool(family, level, optname, boolean) -> Socket::Option
[permalink][rdoc]整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を指定することができます。
require 'socket' p Socket::Option.bool(:INET, :SOCKET, :KEEPALIVE, true) # => #<Socket::Option: INET SOCKET KEEPALIVE 1> p Socket::Option.bool(:INET, :SOCKET, :KEEPALIVE, false) # => #<Socket::Option: AF_INET SOCKET KEEPALIVE 0>
int(family, level, optname, integer) -> Socket::Option
[permalink][rdoc]整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を指定することができます。
linger(onoff, secs) -> Socket::Option
[permalink][rdoc]SOL_SOCKET/SO_LINGER 用の Socket::Option オブジェクトを新たに生成し返します。
new(family, level, optname, data) -> Socket::Option
[permalink][rdoc]Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を指定することができます。
[SEE_ALSO] Socket::Option.int, Socket::Option.bool, Socket::Option.linger
require 'socket' sockopt = Socket::Option.new(:INET, :SOCKET, :KEEPALIVE, [1].pack("i")) p sockopt #=> #<Socket::Option: INET SOCKET KEEPALIVE 1>
bool -> bool
[permalink][rdoc]オプションのデータ(内容)を真偽値に変換して返します。
[SEE_ALSO] Socket::Option#data
data -> String
[permalink][rdoc]to_s -> String
オプションのデータ(内容)を文字列で返します。
内容が整数や真偽値、もしくは struct linger であることがわかっている場合には、 Socket::Option#int, Socket::Option#bool, Socket::Option#linger を用いて
to_s は過去との互換性のために存在します。
family -> Integer
[permalink][rdoc]ソケットファミリを表す整数を返します。
int -> Integer
[permalink][rdoc]オプションのデータ(内容)を整数に変換して返します。
[SEE_ALSO] Socket::Option#data
level -> Integer
[permalink][rdoc]ソケットオプションレベルを表す整数を返します。
linger -> [bool, Integer]
[permalink][rdoc]オプションが SOL_SOCKET/SO_LINGER である場合に、オプションのデータ(内容)を真偽値と整数のペアとして返します。
[SEE_ALSO] Socket::Option#data
optname -> Integer
[permalink][rdoc]ソケットのオプション名を表す整数を返します。
unpack(template) -> Array
[permalink][rdoc]data に対し String#unpack を呼び出し、その結果を返します。
このメソッドは過去との互換性のために存在します。