Ruby 4.1 リファレンスマニュアル

module OpenSSL::SSL::SocketForwarder

[edit]

要約

to_io で返されるソケットオブジェクトにメソッドをフォワードするモジュールです。

OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer といったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するために使われます。

目次

インスタンスメソッド

インスタンスメソッド

addr -> Array[permalink][rdoc][edit]

ラップされているソケットの接続情報を返します。

IPSocket#addr と同様です。

close_on_exec=(bool)Ruby 3.4 から[permalink][rdoc][edit]

ラップされているソケットに close-on-exec フラグを設定します。

IO#close_on_exec= と同様です。

[PARAM] bool:
設定する close-on-exec フラグを true か false で指定します
close_on_exec? -> boolRuby 3.4 から[permalink][rdoc][edit]

ラップされているソケットに close-on-exec フラグが設定されていれば true を返します。

IO#close_on_exec? と同様です。

closed? -> bool[permalink][rdoc][edit]

ラップされているソケットが close していたら true を返します。

do_not_reverse_lookup=(bool)[permalink][rdoc][edit]

真を渡すとアドレスからホスト名への逆引きを行わなくなります。

BasicSocket#do_not_reverse_lookup と同様です。

[PARAM] bool:
真で逆引きを抑制します
fcntl(cmd, arg=0) -> Integer[permalink][rdoc][edit]

ラップされているソケットに対してシステムコール fcntl を実行します。

IO#fcntl と同様です。

[PARAM] cmd:
IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。
[PARAM] arg:
cmd に対する引数を整数、文字列、booleanのいずれかで指定します。
[EXCEPTION] Errno::EXXX:
fcntl の実行に失敗した場合に発生します。
[EXCEPTION] IOError:
既に close されている場合に発生します。
fileno -> IntegerRuby 3.0 から[permalink][rdoc][edit]

ラップされているソケットのファイル記述子を表す整数を返します。

IO#fileno と同様です。

getsockopt(level, optname) -> String[permalink][rdoc][edit]

ラップされているソケットのオプションを設定します。

BasicSocket#getsockopt と同様です。

[PARAM] level:
getsockopt(2) の 第二引数のlevel に相当する整数を指定します
[PARAM] optname:
getsockopt(2) の 第三引数のoption_name に相当する整数を指定します
local_address -> AddrinfoRuby 3.4 から[permalink][rdoc][edit]

ラップされているソケットのローカルアドレス情報を Addrinfo オブジェクトとして返します。

BasicSocket#local_address と同様です。

peeraddr -> Array[permalink][rdoc][edit]

ラップされているソケットの接続先相手の情報を返します。

IPSocket#peeraddr と同様です。

remote_address -> AddrinfoRuby 3.4 から[permalink][rdoc][edit]

ラップされているソケットの接続先相手のアドレス情報を Addrinfo オブジェクトとして返します。

BasicSocket#remote_address と同様です。

setsockopt(level, optname, optval) -> 0[permalink][rdoc][edit]

ラップされているソケットのオプションを設定します。

BasicSocket#setsockopt と同様です。

[PARAM] level:
setsockopt(2) の level に相当する整数を指定します
[PARAM] optname:
setsockopt(2) の option_name に相当する整数を指定します
[PARAM] optval:
設定される値を文字列で指定します。
[EXCEPTION] Errno::EXXX:
オプションの設定に失敗した場合発生します。
timeout -> Numeric | nilRuby 3.4 から[permalink][rdoc][edit]
timeout=(numeric)

ラップされているソケットに設定されている入出力のタイムアウトを秒単位で取得・設定します。

IO#timeout, IO#timeout= と同様です。

[PARAM] numeric:
タイムアウトの秒数。nil を指定するとタイムアウトを解除します
wait(events, timeout = nil) -> Integer | nilRuby 3.4 から[permalink][rdoc][edit]
wait(timeout = nil) -> bool | self | nil
wait_readable(timeout = nil) -> bool | self | nil

ラップされているソケットが指定したイベント(省略時は読み込み可能)の状態になるまでブロックします。

引数はそのまま IO#wait と IO#wait_readable に渡されます。返り値もそれらと同じです。

[PARAM] events:
待つイベントを IO#wait と同じ形式で指定します
[PARAM] timeout:
タイムアウトまでの秒数を指定します
wait_writable(timeout = nil) -> self | nilRuby 3.4 から[permalink][rdoc][edit]

ラップされているソケットが書き込み可能になるまでブロックします。

引数はそのまま IO#wait_writable に渡されます。返り値も同じです。

[PARAM] timeout:
タイムアウトまでの秒数を指定します