]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/aviator/lib/puppet/feature/faraday/adapter/em_synchrony/parallel_manager.rb
Revert "add aimonb/aviator to 3rdparty"
[dsa-puppet.git] / 3rdparty / modules / aviator / lib / puppet / feature / faraday / adapter / em_synchrony / parallel_manager.rb
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 (file)
index 12a1baf..0000000
+++ /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