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