1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
require File.expand_path(File.join(File.dirname(__FILE__), '../lib/curb'))
require 'async'
puts "Testing simple fiber scheduler..."
if Async.respond_to?(:run)
Async.run do
puts "Fiber scheduler available: #{Curl::Multi.fiber_scheduler_available?}"
multi = Curl::Multi.new
easy = Curl::Easy.new("https://httpbin.org/delay/1")
easy.on_complete { |curl| puts "Request completed: #{curl.response_code}" }
multi.add(easy)
puts "Starting perform..."
multi.perform
puts "Perform completed"
end
else
Async do
puts "Fiber scheduler available: #{Curl::Multi.fiber_scheduler_available?}"
multi = Curl::Multi.new
easy = Curl::Easy.new("https://httpbin.org/delay/1")
easy.on_complete { |curl| puts "Request completed: #{curl.response_code}" }
multi.add(easy)
puts "Starting perform..."
multi.perform
puts "Perform completed"
end
end
puts "Done!"
|