種類
- インスタンスメソッド (270)
- 文書 (57)
- 定数 (33)
- クラス (11)
ライブラリ
クラス
-
ARGF
. class (22) - BasicSocket (55)
- IO (55)
- Socket (11)
- StringIO (33)
-
Thread
:: Queue (11) -
Thread
:: SizedQueue (33) - ThreadsWait (6)
- UDPSocket (11)
- UNIXServer (11)
モジュール
- Fcntl (22)
-
File
:: Constants (11) -
OpenSSL
:: Buffering (22)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - IO (11)
-
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 3
. 0 . 0 (4) -
O
_ NDELAY (11) -
O
_ NONBLOCK (11) -
accept
_ nonblock (11) - deq (11)
- fcntl (11)
-
next
_ wait (6) - nonblock (11)
- pop (11)
-
read
_ nonblock (44) - readpartial (22)
-
recv
_ nonblock (11) -
recvfrom
_ nonblock (22) - recvmsg (11)
-
recvmsg
_ nonblock (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 3 feature (11) - sendmsg (11)
-
sendmsg
_ nonblock (11) - shift (22)
- syswrite (11)
-
write
_ nonblock (33)
検索結果
先頭5件
- File
:: Constants :: NONBLOCK -> Integer - IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable - OpenSSL
:: Buffering # write _ nonblock(s) -> Integer - UNIXServer
# accept _ nonblock -> UnixSocket - BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData]
-
File
:: Constants :: NONBLOCK -> Integer (24401.0) -
ファイルが利用可能じゃなくてもブロックしません。 File.openで使用します。
...ファイルが利用可能じゃなくてもブロックしません。
File.openで使用します。... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (18607.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバ......り値)は String#bytesize の
値より小さい可能性があります。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトラ......きます。
@param string 自身に書き込みたい文字列を指定します。
@param exception false を指定すると、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込... -
OpenSSL
:: Buffering # write _ nonblock(s) -> Integer (18407.0) -
文字列 s をノンブロッキングモードで書き込みます。
...で
ブロックする可能性があります。
基本的には IO#write_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが読み込み不可能(IO::WaitReadable)
という理由で
例外を発生させる可能性があります......param s 出力する文字列
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には IO::WaitReadable を、
書き込み可......能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。... -
UNIXServer
# accept _ nonblock -> UnixSocket (18407.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれか...... IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket'
serv = UNIXServer.new("/tmp/sock")
begin # emulate blocking accept
sock = serv.accept_nonblock
rescue IO::WaitReadable, Errno::EINTR
I......O.select([serv])
retry
end
# sock is an accepted socket.
@see UNIXServer#accept... -
BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (15601.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags......フラグ
@param maxcontrollen 受け取る補助データの最大長
@param opts ハッシュオプション... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (15513.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...
IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErr......no::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ば......ングモードにする点を除いて IO#readpartial と
同じであることに注意してください。
バイナリ読み込みメソッドとして動作します。
既に EOF に達していれば EOFError が発生します。ただし、maxlen に 0 が指定されている場合は... -
StringIO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | nil (15501.0) -
StringIO#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。
...StringIO#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。
@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。
@param outbuf 読み込んだ文字列を出力するバ......オブジェクトが
あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の
長さが length と異なる場合、その文字列は一旦 length 長に拡張(あるいは縮小)されたあと、......に読み込んだデータのサイズになります。IO#read と同じです。
@param exception false を指定した場合、既に EOF に達していれば
EOFError の代わりに nil を返します。
@raise EOFError 文字列の終端に達した場合に発生しま... -
ThreadsWait
# next _ wait(nonblock = nil) -> Thread (15425.0) -
指定したスレッドのどれかが終了するまで待ちます。
...ちます。
@param nonblock true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。
@raise ErrNoWaitingThread 終了をまつスレッドが存在しない時、発生します。
@raise ErrNoFinishedThread nonblock がtrue でかつ、キュ......ーが空の時、発生します。
#使用例
require 'thwait'
threads = []
2.times {|i|
threads << Thread.new { sleep i }
}
thall = ThreadsWait.new
thall.join_nowait(*threads)
until thall.empty?
th = thall.next_wait
p th
end
@see Queue#pop... -
OpenSSL
:: Buffering # read _ nonblock(maxlen , buf) -> String (15407.0) -
通信路から maxlen バイトを上限としてデータを読み込み、 文字列として返します。
...通信路から maxlen バイトを上限としてデータを読み込み、
文字列として返します。
即座に得られるデータが 1byte でも存在すればブロックしません。
内部バッファが空でない場合はバッファのデータを返します。
即座に得......再びこのメソッドを呼んでください。
基本的には IO#read_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが書き込み不可能(IO::WaitWritable)という理由で
例外を発生させる可能性があります......暗号化/復号化
するためです。
@param maxlen 読み込む長さの上限(整数)
@param buf 読み込みバッファ
@raise EOFError 読み込みが既に終端に到達している場合に発生します
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状... -
BasicSocket
# recv _ nonblock(maxlen , flags = 0) -> String (15401.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ドに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
引数、返り値は BasicSocket#recv と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@param maxlen 受け取る文字列......の最大の長さを指定します。
@param flags recv(2) を参照してください。
@raise IOError
@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。...