ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- PKF])Error/catch-c.rinu[U:RDoc::AnyMethod[iI" catch:ETI"Timeout::Error::catch;TT: privateo:RDoc::Markup::Document: @parts[: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below00I"exc;T[I" (*args);T@ FI" Error;TcRDoc::NormalClass00PKF]Error/exception-i.rinu[U:RDoc::AnyMethod[iI"exception:ETI"Timeout::Error#exception;TF: privateo:RDoc::Markup::Document: @parts[: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*);T@ TI" Error;TcRDoc::NormalClass00PKF]_]EEError/cdesc-Error.rinu[U:RDoc::NormalClass[iI" Error:ETI"Timeout::Error;TI"RuntimeError;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"8Raised by Timeout.timeout when the block times out.;T: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[ I" thread;TI"R;T: privateFI"lib/timeout.rb;T[[[[I" class;T[[: public[[:protected[[; [[I" catch;T@[I" instance;T[[; [[;[[; [[I"exception;T@[[U:RDoc::Context::Section[i0o;;[; 0; 0[I"lib/timeout.rb;TI" Timeout;TcRDoc::NormalModulePKF] @4Error/thread-i.rinu[U:RDoc::Attr[iI" thread:ETI"Timeout::Error#thread;TI"R;T: privateo:RDoc::Markup::Document: @parts[: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below0F@ I"Timeout::Error;TcRDoc::NormalClass0PKF]fjPD timeout-c.rinu[U:RDoc::AnyMethod[iI" timeout:ETI"Timeout::timeout;TT: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OPerform an operation in a block, raising an error if it takes longer than ;TI"+sec+ seconds to complete.;To:RDoc::Markup::BlankLineo:RDoc::Markup::List: @type: NOTE: @items[o:RDoc::Markup::ListItem: @label[I" +sec+;T; [o; ; [I"FNumber of seconds to wait for the block to terminate. Any number ;TI"Dmay be used, including Floats to specify fractional seconds. A ;TI"Dvalue of 0 or +nil+ will execute the block without any timeout.;To;;[I" +klass+;T; [o; ; [I">Exception Class to raise if the block fails to terminate ;TI"Ein +sec+ seconds. Omitting will use the default, Timeout::Error;To;;[I"+message+;T; [o; ; [I"2Error message to raise with Exception Class. ;TI"7Omitting will use the default, "execution expired";T@o; ; [I"EReturns the result of the block *if* the block completed before ;TI"Q+sec+ seconds, otherwise throws an exception, based on the value of +klass+.;T@o; ; [ I"PThe exception thrown to terminate the given block cannot be rescued inside ;TI"Nthe block unless +klass+ is given explicitly. However, the block can use ;TI"Mensure to prevent the handling of the exception. For that reason, this ;TI"Imethod cannot be relied on to enforce timeouts for untrusted blocks.;T@o; ; [I"RIf a scheduler is defined, it will be used to handle the timeout by invoking ;TI"Scheduler#timeout_after.;T@o; ; [I"ONote that this is both a method of module Timeout, so you can include ;TI"OTimeout into your classes so they have a #timeout method, as well as ;TI"Ga module method, so you can call it directly as Timeout.timeout().;T: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below00I"sec;T[I"&(sec, klass = nil, message = nil);T@>FI" Timeout;TcRDoc::NormalModule00PKF]T# timeout-i.rinu[U:RDoc::AnyMethod[iI" timeout:ETI"Timeout#timeout;TF: privateo:RDoc::Markup::Document: @parts[o:RDoc::Markup::Paragraph; [I"OPerform an operation in a block, raising an error if it takes longer than ;TI"+sec+ seconds to complete.;To:RDoc::Markup::BlankLineo:RDoc::Markup::List: @type: NOTE: @items[o:RDoc::Markup::ListItem: @label[I" +sec+;T; [o; ; [I"FNumber of seconds to wait for the block to terminate. Any number ;TI"Dmay be used, including Floats to specify fractional seconds. A ;TI"Dvalue of 0 or +nil+ will execute the block without any timeout.;To;;[I" +klass+;T; [o; ; [I">Exception Class to raise if the block fails to terminate ;TI"Ein +sec+ seconds. Omitting will use the default, Timeout::Error;To;;[I"+message+;T; [o; ; [I"2Error message to raise with Exception Class. ;TI"7Omitting will use the default, "execution expired";T@o; ; [I"EReturns the result of the block *if* the block completed before ;TI"Q+sec+ seconds, otherwise throws an exception, based on the value of +klass+.;T@o; ; [ I"PThe exception thrown to terminate the given block cannot be rescued inside ;TI"Nthe block unless +klass+ is given explicitly. However, the block can use ;TI"Mensure to prevent the handling of the exception. For that reason, this ;TI"Imethod cannot be relied on to enforce timeouts for untrusted blocks.;T@o; ; [I"RIf a scheduler is defined, it will be used to handle the timeout by invoking ;TI"Scheduler#timeout_after.;T@o; ; [I"ONote that this is both a method of module Timeout, so you can include ;TI"OTimeout into your classes so they have a #timeout method, as well as ;TI"Ga module method, so you can call it directly as Timeout.timeout().;T: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below00I"sec;T[I"&(sec, klass = nil, message = nil);T@>FI" Timeout;TcRDoc::NormalModule00PKF]cdesc-Timeout.rinu[U:RDoc::NormalModule[iI" Timeout:ET@0o:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I" Timeout long-running blocks;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI" Synopsis;T@o:RDoc::Markup::Verbatim;[ I"require 'timeout' ;TI"$status = Timeout::timeout(5) { ;TI"Q # Something that should be interrupted if it takes more than 5 seconds... ;TI"} ;T: @format0S; ; i; I"Description;T@o; ;[I"ITimeout provides a way to auto-terminate a potentially long-running ;TI"?operation if it hasn't finished in a fixed amount of time.;T@o; ;[I"DPrevious versions didn't use a module for namespacing, however ;TI"<#timeout is provided for backwards compatibility. You ;TI"+should prefer Timeout.timeout instead.;T@S; ; i; I"Copyright;T@o:RDoc::Markup::List: @type: NOTE: @items[o:RDoc::Markup::ListItem: @label[I"Copyright;T;[o; ;[I"=(C) 2000 Network Applied Communication Laboratory, Inc.;To;;[I"Copyright;T;[o; ;[I"=(C) 2000 Information-technology Promotion Agency, Japan;T: @fileI"lib/timeout.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI" VERSION;TI"Timeout::VERSION;T: public0o;;[;@5;0@5@cRDoc::NormalModule0[[[I" class;T[[;[[:protected[[: private[[I" timeout;TI"lib/timeout.rb;T[I" instance;T[[;[[;[[;[[@K@L[[U:RDoc::Context::Section[i0o;;[;0;0[I"lib/timeout.rb;T@5cRDoc::TopLevelPKF])Error/catch-c.rinu[PKF]8Error/exception-i.rinu[PKF]_]EEnError/cdesc-Error.rinu[PKF] @4Error/thread-i.rinu[PKF]fjPD  timeout-c.rinu[PKF]T#  timeout-i.rinu[PKF]cdesc-Timeout.rinu[PK1