ライブラリ
- ビルトイン (322)
-
cgi
/ html (24) - fiddle (12)
-
io
/ nonblock (12) -
minitest
/ unit (1) -
mutex
_ m (24) -
net
/ ftp (144) -
net
/ http (24) - openssl (48)
- optparse (24)
- pathname (12)
-
rubygems
/ commands / lock _ command (12) - shell (36)
-
shell
/ command-processor (12) -
shell
/ filter (18) - socket (96)
- stringio (24)
- sync (24)
-
syslog
/ logger (84) - thread (14)
- thwait (6)
クラス
-
ARGF
. class (12) - Array (43)
- BasicSocket (36)
- Class (12)
-
Fiddle
:: Closure :: BlockCaller (12) - File (12)
-
Gem
:: Commands :: LockCommand (12) - Hash (7)
- IO (36)
- Mutex (6)
-
Net
:: FTP (144) -
Net
:: HTTP (24) - Object (12)
-
OpenSSL
:: SSL :: SSLSocket (24) - OptionParser (24)
- Pathname (12)
- Shell (36)
-
Shell
:: CommandProcessor (12) -
Shell
:: Filter (18) - Socket (24)
- String (64)
- StringIO (24)
-
Syslog
:: Logger (84) - TCPServer (12)
- Thread (8)
-
Thread
:: Mutex (30) -
Thread
:: Queue (36) -
Thread
:: SizedQueue (58) - ThreadsWait (6)
- UDPSocket (12)
- UNIXServer (12)
モジュール
-
CGI
:: HtmlExtension (24) - Enumerable (12)
-
MiniTest
:: Assertions (1) -
Mutex
_ m (24) -
OpenSSL
:: Buffering (24) -
Sync
_ m (24)
キーワード
-
accept
_ nonblock (36) - add (12)
-
assert
_ block (1) - blockdev? (18)
- blockquote (24)
- call (12)
- cd (6)
- chars (12)
- chdir (6)
- codepoints (12)
- combination (12)
-
connect
_ nonblock (24) - debug (12)
- deq (24)
-
each
_ char (12) -
each
_ codepoint (12) -
each
_ entry (12) -
each
_ grapheme _ cluster (8) - enq (11)
- error (12)
- fatal (12)
- filter! (7)
- flock (12)
- foreach (18)
- get (24)
- getbinaryfile (24)
-
grapheme
_ clusters (8) -
ignore
_ deadlock (4) -
ignore
_ deadlock= (4) - info (12)
- initialize (12)
-
mu
_ unlock (12) - new (12)
-
next
_ wait (6) - nonblock (12)
-
on
_ head (12) -
on
_ tail (12) - out (18)
- permutation (12)
- pop (24)
- push (11)
- pushd (6)
- pushdir (6)
- put (24)
- putbinaryfile (24)
-
read
_ nonblock (48) -
recv
_ nonblock (12) -
recvfrom
_ nonblock (24) -
recvmsg
_ nonblock (12) - retrbinary (24)
- select! (12)
-
sendmsg
_ nonblock (12) - shift (24)
- sleep (12)
-
spec
_ path (12) - storbinary (24)
-
sync
_ ex _ locker (6) -
sync
_ ex _ locker= (6) -
sync
_ try _ lock (6) -
to
_ h (7) -
try
_ lock (6) - unknown (12)
- unlock (36)
- warn (12)
-
write
_ nonblock (36)
検索結果
先頭5件
-
Net
:: HTTP # lock(path , body , initheader = nil) -> Net :: HTTPResponse (21348.0) -
サーバの path に LOCK リクエストを ヘッダを initheader, ボディを body として送ります。
...サーバの path に LOCK リクエストを
ヘッダを initheader, ボディを body として送ります。
レスポンスを Net::HTTPResponse のオブジェクト
で返します。
@param path リクエストを送るパスを文字列で与えます。
@param body リクエストのボ......ディを文字列で与えます。
@param initheader リクエストのヘッダを「文字列=>文字列」の
ハッシュで与えます。
@see Net::HTTP::Lock... -
Mutex
# lock -> self (21114.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...mutex オブジェクトをロックします。一度に一つのス
レッドだけが mutex をロックできます。既にロックされている mutex
に対してロックを行おうとしたスレッドは mutex のロックが解放さ
れるまで、実行が停止されます。
@rais......e ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
Thread
:: Mutex # lock -> self (21114.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...mutex オブジェクトをロックします。一度に一つのス
レッドだけが mutex をロックできます。既にロックされている mutex
に対してロックを行おうとしたスレッドは mutex のロックが解放さ
れるまで、実行が停止されます。
@rais......e ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (12325.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバイト数(つまり返り値)は String#bytesize......rrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string 自身に書き込みた......ます。
@param exception false を指定すると、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno... -
OpenSSL
:: Buffering # write _ nonblock(s) -> Integer (12313.0) -
文字列 s をノンブロッキングモードで書き込みます。
...で
ブロックする可能性があります。
基本的には IO#write_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが読み込み不可能(IO::WaitReadable)
という理由で
例外を発生させる可能性があります......るためです。
@param s 出力する文字列
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には IO::WaitReadable を、......書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。... -
CGI
:: HtmlExtension # blockquote(cite = nil) -> String (12307.0) -
blockquote 要素を生成します。
...blockquote 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param cite 引用元を指定します。属性をハッシュで指定することもできます。
例:
blockquote("http://www.example.com/quotes/foo.htm......l") { "Foo!" }
#=> "<BLOCKQUOTE CITE=\"http://www.example.com/quotes/foo.html\">Foo!</BLOCKQUOTE>... -
CGI
:: HtmlExtension # blockquote(cite = nil) { . . . } -> String (12307.0) -
blockquote 要素を生成します。
...blockquote 要素を生成します。
ブロックを与えると、ブロックを評価した結果が内容になります。
@param cite 引用元を指定します。属性をハッシュで指定することもできます。
例:
blockquote("http://www.example.com/quotes/foo.htm......l") { "Foo!" }
#=> "<BLOCKQUOTE CITE=\"http://www.example.com/quotes/foo.html\">Foo!</BLOCKQUOTE>... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (12219.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
...ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断しま......す。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::SSL::SSLError をこのモジュールで extend し......ジェクトが生成されます)
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には IO::WaitReadable を、
書き込み... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (12219.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断しま......ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::SSLError ソケット......る場合には IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#accept_nonblock,
OpenSSL::SSL::SSLSocket#connect... -
MiniTest
:: Assertions # assert _ block(message = nil) { . . . } -> true (12213.0) -
与えられたブロックの評価結果が真である場合、検査にパスしたことになります。
...とになります。
@param message 検査に失敗した場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられた... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (12213.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライす......socket'
include Socket::Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake completion......begin
socket.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発...