X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Fem_synchrony%2Fparallel_manager.rb;fp=3rdparty%2Fmodules%2Faviator%2Flib%2Fpuppet%2Ffeature%2Ffaraday%2Fadapter%2Fem_synchrony%2Fparallel_manager.rb;h=0000000000000000000000000000000000000000;hp=12a1bafa4c7fb11d07e52659f2ee0bd674549bd3;hb=706621d7a3318aef2d3a0b3665d08a98fdd9a458;hpb=6eb028a997c0756fdd3d27a16297180db269631b diff --git a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony/parallel_manager.rb b/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony/parallel_manager.rb deleted file mode 100644 index 12a1bafa..00000000 --- a/3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony/parallel_manager.rb +++ /dev/null @@ -1,66 +0,0 @@ -module Faraday - class Adapter - class EMSynchrony < Faraday::Adapter - class ParallelManager - - # Add requests to queue. The `request` argument should be a - # `EM::HttpRequest` object. - def add(request, method, *args, &block) - queue << { - :request => request, - :method => method, - :args => args, - :block => block - } - end - - # Run all requests on queue with `EM::Synchrony::Multi`, wrapping - # it in a reactor and fiber if needed. - def run - result = nil - if !EM.reactor_running? - EM.run { - Fiber.new do - result = perform - EM.stop - end.resume - } - else - result = perform - end - result - end - - - private - - # The request queue. - def queue - @queue ||= [] - end - - # Main `EM::Synchrony::Multi` performer. - def perform - multi = ::EM::Synchrony::Multi.new - - queue.each do |item| - method = "a#{item[:method]}".to_sym - - req = item[:request].send(method, *item[:args]) - req.callback(&item[:block]) - - req_name = "req_#{multi.requests.size}".to_sym - multi.add(req_name, req) - end - - # Clear the queue, so parallel manager objects can be reused. - @queue = [] - - # Block fiber until all requests have returned. - multi.perform - end - - end # ParallelManager - end # EMSynchrony - end # Adapter -end # Faraday