2010-08-29から1日間の記事一覧

read_body の抜け方。

さっきの続きで次のようなコードを考えてみた。 $lasttime = Time.now def proc(uri) begin t = Thread.new { while true if(Time.now - $lasttime > TIMEOUT_SECONDS) raise "Read Chunk Timeout" end sleep TIMEOUT_SECONDS end } Net::HTTP.start(uri.hos…

イテレータのタイムアウト

たとえばこういう Ruby のコードがあって、 Net::HTTP.start(host, port) { |http| http.request(request) { |response| response.read_body { |chunk| func(chunk) } } } read_body {|chunk| ... } というイテレータで、「エンティティボディを少しづつ取得…