別のキーワード
ライブラリ
- ビルトイン (6)
-
io
/ nonblock (2) - openssl (2)
- socket (5)
- stringio (3)
クラス
-
ARGF
. class (2) - BasicSocket (2)
- IO (6)
- Socket (2)
- StringIO (3)
- UDPSocket (1)
モジュール
キーワード
-
connect
_ nonblock (1) - fcntl (1)
- nonblock= (1)
-
read
_ nonblock (4) - readpartial (2)
-
recvfrom
_ nonblock (2) - recvmsg (1)
- sendmsg (1)
- syswrite (1)
-
write
_ nonblock (3)
検索結果
先頭5件
-
IO
# nonblock(bool = true) { . . . } -> object (81322.0) -
ブロック実行中、一時的に self のブロックモードを変更します。 bool が真ならノンブロックモード、偽ならブロックモードになります。
ブロック実行中、一時的に self のブロックモードを変更します。
bool が真ならノンブロックモード、偽ならブロックモードになります。
@param bool 真を指定するとノンブロックモード、偽を指定するとブロックモードになります。 -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (45814.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (45742.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::Wai... -
IO
# nonblock=(bool) (45322.0) -
bool が真なら self をノンブロックモードに、偽ならブロックモー ドにします。
bool が真なら self をノンブロックモードに、偽ならブロックモー
ドにします。
@param bool 真を指定すると自身をノンブロックモードにします。偽を指定するとブロックモードにします。 -
StringIO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | nil (27676.0) -
StringIO#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。
StringIO#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。
@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。
@param outbuf 読み込んだ文字列を出力するバッファを文字列で指定します。指定した文字列オブジェクトが
あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の
長さが length と異なる場合、その文字列は一旦 length ... -
IO
# readpartial(maxlen , outbuf = "") -> String (27247.0) -
IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。
IO から長さ maxlen を上限として読み込み、文字列として返します。
即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。
即座に得られるデータが 1byte でも存在すればブロックしません。
バイナリ読み込みメソッドとして動作します。
既に EOF に達していれば EOFError が発生します。
ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。
readpartial はブロックを最小限に抑えることによって、
パイプ、ソケット、端末などのストリームに対して適切に動作するよう設計されています。
readpartial が... -
IO
# fcntl(cmd , arg = 0) -> Integer (27139.0) -
IOに対してシステムコール fcntl を実行します。 機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。
IOに対してシステムコール fcntl を実行します。
機能の詳細は fcntl(2) を参照してください。
fcntl(2) が返した整数を返します。
@param cmd IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。
@param arg cmd に対する引数を整数、文字列、booleanのいずれかで指定します。
整数の時にはその値を fcntl(2) に渡します。
文字列の場合には Array#pack した構造体だとみなして渡します。
arg が nil か false の... -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (18754.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
詳しくは IO#read_nonblock を参照してください。
ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
... -
OpenSSL
:: Buffering # read _ nonblock(maxlen , buf) -> String (18430.0) -
通信路から maxlen バイトを上限としてデータを読み込み、 文字列として返します。
通信路から maxlen バイトを上限としてデータを読み込み、
文字列として返します。
即座に得られるデータが 1byte でも存在すればブロックしません。
内部バッファが空でない場合はバッファのデータを返します。
即座に得られるデータが存在しないときには例外が発生します。
例外が発生した場合、内部のソケットが利用可能になってから
再びこのメソッドを呼んでください。
基本的には IO#read_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが書き込み不可能(IO::WaitWritable)という理由で
例外を発生させる可能性があります。暗号... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (18430.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
... -
OpenSSL
:: Buffering # write _ nonblock(s) -> Integer (18412.0) -
文字列 s をノンブロッキングモードで書き込みます。
文字列 s をノンブロッキングモードで書き込みます。
成功した場合、書き込んだバイト数を返します。
1 バイトも書くことができず、ソケットの状態が変化するのを
待つ必要がある場合は例外を発生させます。
例外が発生した場合、内部のソケットが利用可能になってから
再びこのメソッドを呼んでください。
ただし内部バッファに書き込んでいないデータが残っている場合は、
まずバッファの内容をすべて出力してします。この時点で
ブロックする可能性があります。
基本的には IO#write_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが読み込み不可能(IO:... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (18412.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
ソケットをノンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Err... -
Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (18358.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する例外には、IO::WaitReadable が extend
されています。
@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@rai... -
StringIO
# write _ nonblock(obj) -> Integer (18322.0) -
自身に obj を書き込みます。StringIO#write と同じです。
自身に obj を書き込みます。StringIO#write と同じです。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。 -
StringIO
# syswrite(obj) -> Integer (9022.0) -
自身に obj を書き込みます。StringIO#write と同じです。
自身に obj を書き込みます。StringIO#write と同じです。
@param obj 書き込みたいオブジェクトを指定します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。 -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (163.0) -
sendmsg(2) を用いてメッセージを送ります。
sendmsg(2) を用いてメッセージを送ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(c... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (127.0) -
recvmsg(2) を用いてメッセージを受け取ります。
recvmsg(2) を用いてメッセージを受け取ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。
maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。
flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。
opts にはその他... -
ARGF
. class # readpartial(maxlen , outbuf = nil) -> String (121.0) -
IO#readpartialを参照。ARGF.class#read などとは違って複数ファ イルを同時に読み込むことはありません。
IO#readpartialを参照。ARGF.class#read などとは違って複数ファ
イルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@see IO#readpartial, ARGF.class#read_nonblock