Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::Bufferingモジュール

module OpenSSL::Buffering

クラス・モジュールの継承リスト: OpenSSL::Buffering

要約

OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供するモジュールです。

IO クラスと同様のメソッドを提供しています。

内部的には sysread, syswrite, sysread_nonblock, syswrite_nonblock, sysclose といった OpenSSL::SSL::SSLSocket が提供するメソッドを利用し、 OpenSSL::SSL::SSLSocket がラップしているソケットをバッファ経由でデータを暗号化してやりとりを行います。

IO との違い

このクラスは IO クラスと同様のメソッドを提供していますが、以下の点で異なります。これらは今後のバージョンで変更(改善) される可能性があります。

インスタンスメソッド

定義 説明
self << s -> self

文字列 s を書き込みます。

close -> nil

接続を閉じます。

each(eol=$/) {|line| ... } -> ()
each_line(eol=$/) {|line| ... } -> ()

現在の読み込み位置から1行ずつ文字列として読み込み、それを引数としてブロックを呼び出します。

each_byte {|ch| ... } -> ()

現在の読み込み位置から 1 バイトずつ読み込み、それを文字列としてブロックの引数として呼び出します。

eof? -> bool
eof -> bool

相手からの通信が終端に達したら true を返します。

flush -> ()

内部バッファに残っているデータをすべて出力し、バッファをフラッシュします。

getc -> String | nil

バッファから1文字読み込み、それ返します。

gets(eol=$/, limit=nil) -> String | nil

通信路から一行読み込んで、それを返します。

print(*args) -> nil

args を順に出力します。

printf(format, *args) -> nil

format に従い引数 args を文字列に変換して出力します。

puts(*objs) -> nil

各オブジェクトを出力し、それぞれの後に改行を出力します。

read(length=nil, buf=nil) -> String | nil

文字列を通信路から読み込み、返します。

read_nonblock(maxlen, buf) -> String

通信路から maxlen バイトを上限としてデータを読み込み、文字列として返します。

readchar -> String

バッファから1文字読み込み、それ返します。

readline(eol=$/) -> String

通信路から一行読み込んで、それを返します。

readlines(eol=$/) -> [String]

データを通信路から末端まで全て読み込んで、各行を要素として持つ配列を返します。

readpartial(maxlen, buf=nil) -> String | nil

通信路から長さ maxlen バイトを上限としてデータを読み込み、文字列として返します。即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。即座に得られるデータが 1byte でも存在すればブロックしません。

sync -> bool

出力が同期モードなら true を返します。

sync=(sync)

出力の同期モードを設定します。

ungetc(char) -> ()

指定した文字 char をバッファに読み戻します。

write(str) -> Integer

str を出力します。

write_nonblock(s) -> Integer

文字列 s をノンブロッキングモードで書き込みます。

定数

定義 説明
BLOCK_SIZE -> Integer

内部のバッファのサイズを返します。